我不确定这是一个本地问题还是每个人都会遇到问题。但是当我在matplotlib中使用colorbars并将它们保存为PDF格式时,我会在颜色栏中得到某些不需要的行,如下所示:
仔细观察:
我使用的代码是:
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()
有没有办法删除这些不必要的行?
答案 0 :(得分:4)
这是某些矢量图形查看器的已知问题(即不使用matplotlib 本身)。一些观看者将渲染渐变的片段之间的间隙。 plt.colorbar
documentation包含一个简单的解决方法:将每个细分的边缘颜色设置为其面部颜色,如下所示。
cbar = plt.colorbar()
cbar.solids.set_edgecolor("face")