我想使用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都显示以下内容:

那对你有用吗?您是否在其余的代码中做了一些明显不同的事情?

09-29 19:52