为什么matplotlib颜色条中有一些不必要的行?

时间:2015-03-29 06:00:02

标签: python matplotlib

我不确定这是一个本地问题还是每个人都会遇到问题。但是当我在matplotlib中使用colorbars并将它们保存为PDF格式时,我会在颜色栏中得到某些不需要的行,如下所示:

enter image description here

仔细观察:

enter image description here

enter image description here

我使用的代码是:

fig = plt.figure(figsize=(5.15, 5.15))
fig.clf()
plot = plt.subplot(111)
plt.specgram(data, NFFT = 256, Fs = sampling_rate)
plot.grid(False, which="major")
plot.set_xlabel(r'\textit{Time (s)}', labelpad=6)
plot.set_ylabel(r'\textit{{Frequency (Hz)}}', labelpad=6)
plt.colorbar()
fig.savefig('specgram.pdf', bbox_inches='tight')
plt.close()

有没有办法删除这些不必要的行?

1 个答案:

答案 0 :(得分:4)

这是某些矢量图形查看器的已知问题(即不使用matplotlib 本身)。一些观看者将渲染渐变的片段之间的间隙。 plt.colorbar documentation包含一个简单的解决方法:将每个细分的边缘颜色设置为其面部颜色,如下所示。

cbar = plt.colorbar()
cbar.solids.set_edgecolor("face")