Python Matplotlib COLORBASE:删除分色器

Python Matplotlib COLORBASE:删除分色器,python,matplotlib,colorbar,Python,Matplotlib,Colorbar,我想使用ColorbarBase删除绘制的colormap中的后端分隔符(分隔符?): 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)

我想使用ColorbarBase删除绘制的colormap中的后端分隔符(分隔符?):

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

如中的ColorbarBase方法所示


这对我来说很有效,没有任何线条。我看到两种明显的可能性:

1) 你有一个错误的版本。如果在python提示符下执行
matplotlib.\uuuuu version\uuuu
,我会看到
1.2.0
。我将OSX10.6.8与Python2.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都显示以下内容:


这对你有用吗?您在代码的其余部分做了显著不同的事情吗?

我发现它确实是matplotlib后端

mpl.use('WXAgg')

解决了

。。还是由PNG输出文件格式引起的?plt.savefig('xxx.png')好的,谢谢!我用matplotlib 1.2.1在我的Ubuntu(12.04)上进行了尝试。。但在我的OSX上,它也像一个魔咒一样工作。。。我很困惑。像往常一样。啊哈。。。当我让它在ipython中运行时,它起作用了。但是,如果我让它作为脚本从带有“python file.py”的终端运行,它会创建黑线。。那么,它可能是另一个后端吗?
mpl.use('WXAgg')