5

ColorbarBase を使用して、描画されたカラーマップのバック ライン セパレーター (ディバイダー?) を削除したいと思います。

cm    = get_cmap('RdBu')
Ncol  = 501
cccol = cm(1.*arange(Ncol)/Ncol)
cax     = fig.add_axes([0.15,0.15,0.05,0.4])
fig.add_axes([0.5,0.15,0.3,0.03])
norm    = mpl.colors.Normalize(vmin=valmin, vmax=valmax)
cb1     = mpl.colorbar.ColorbarBase(cax, cmap=cm, norm=norm, orientation='vertical')

それはいつも間に黒い線が多すぎる..それらを取り除く方法はありますか? 私はすでに次のようなものを試しました:

del cb1.lines
del cb1.dividers

また

cb1.lines.remove()
cb1.lines = []

http://fossies.org/dox/matplotlib-1.2.0/matplotlib_2colorbar_8py_source.html#l00281の ColorbarBase メソッドに見られるように。

黒い線が多すぎるカラーバー

4

2 に答える 2

2

線なしで、それは私にとってはうまくいきます。明らかな可能性が 2 つあります。

1) バグのあるバージョンを使用しています。matplotlib.__version__Pythonプロンプトで行うと、 1.2.0. 私はPython 2.7.3でOS X 10.6.8を使用しており、すべてmacportsからインストールされています。君はどうでしょう?

2)それは、あなたが私たちに示していないコードの何かです。このような質問では、常に最小限の実例を示す必要があります。(これは、質問する前に問題を把握するのに役立つ場合があります。) たとえば、 I を開始するipython --pylabと、次のように動作します。

fig    = figure()
valmin =-1.0
valmax =1.0
cm     = get_cmap('RdBu')
Ncol   = 501
cccol  = cm(1.*arange(Ncol)/Ncol)
cax    = fig.add_axes([0.15,0.15,0.05,0.4])
norm   = mpl.colors.Normalize(vmin=valmin, vmax=valmax)
cb1    = mpl.colorbar.ColorbarBase(cax, cmap=cm, norm=norm, orientation='vertical')
draw()
savefig('/tmp/bla.png')

ポップアップする GUI と保存される PNG の両方に、次のように表示されます。

カラーバー

それはあなたのために働きますか?コードの残りの部分で何か大幅に異なることをしましたか?

于 2013-04-23T17:06:56.587 に答える