在matplotlib
中,我使用LineCollection
来绘制和着色国家,其中给出了县的边界。当我将图形另存为 pdf 文件时:
fig.savefig('filename.pdf',dpi=300)
数字尺寸相当大。但是,将它们另存为 png 文件时:
fig.savefig('filename.png',dpi=300)
然后使用 Linux convert
命令将它们转换为 PDF,文件很小。我尝试减小 dpi,但这不会改变 pdf 文件大小。有没有办法从matplotlib直接将图形保存为较小的pdf文件?
PDF 更大,因为它包含所有矢量信息。通过保存 PNG,可以生成栅格化图像。似乎在您的情况下,您可以通过直接栅格化绘图来生成较小的PDF:
plt.plot(x, y, 'r-', rasterized=True)
在这里,x, y
是一些情节坐标。您基本上必须使用附加关键字参数raterized
才能达到效果。
我认为使用"光栅化=真"可以有效地保存图像,类似于png格式。放大时,您会看到像素模糊。
如果您希望数字是高质量的,我的建议是从数据中抽样并制作绘图。pdf 文件大小大致是它需要记住的数据点数量。