我正在使用imshow
生成重叠图并使用matplotlib.backends.backend_pdf.PdfPages
将其打印为多页pdf。我使用:
edge = np.ma.masked_where(edge == 0, edge)
cmap = plt.cm.winter
cmap.set_bad('g', 0)
然后使用以下两个imshow命令将其覆盖到背景图像上:
plt.imshow(back[:, :, mid], cmap=plt.cm.gray, interpolation='nearest')
plt.imshow(edge[:, :, mid], cmap=cmap, interpolation='nearest', alpha=0.5)
如果我使用matplotlib.pyplot.show()
而不是matplotlib.backends.backend_pdf.PdfPages.savefig()
,则会生成正确渲染的图像。具体来说,imshow
调用中会忽略字母信息,但会调用正常呈现的cmap.set_bad
调用。
谢谢,约瑟夫
答案 0 :(得分:0)
对任何患此问题的人......
解决方案是将Matplotlib更新为最新版本。我在Ubuntu 12.04 repos中使用了最新版本的Matplotlib,但我的版本落后于多个版本。这个bug现在已经解决了。谢谢!