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