我想使用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方法所示。
最佳答案
这对我有效,没有任何限制。我看到两种明显的可能性:
1)您的 buggy 版本。如果在python提示符下执行matplotlib.__version__
,我会看到1.2.0
。我正在将OS X 10.6.8与python 2.7.3一起使用,并且所有内容都从macports安装。你呢?
2)这是您未显示给我们的代码中的某些内容。遇到这样的问题,您应该始终显示一个最小的工作示例。 (有时甚至可以帮助您在问题之前就解决问题。)例如,我可以启动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都显示以下内容:
那对你有用吗?您是否在其余的代码中做了一些明显不同的事情?