在matplotlib中减小pdf图形文件的大小

2024-05-19 01:35:30 发布

您现在位置:Python中文网/ 问答频道 /正文

matplotlib中,我使用LineCollection来绘制国家并为其着色,其中给出了县的边界。当我将图形保存为pdf文件时:

fig.savefig('filename.pdf',dpi=300)

体型很大。但是,在将其保存为png文件时:

fig.savefig('filename.png',dpi=300)

然后使用linux convert命令将它们转换为pdf文件,文件很小。我尝试减少dpi,但是这不会改变pdf文件的大小。有没有一种方法可以直接从matplotlib将图形保存为较小的pdf文件


Tags: 文件图形pdfpngmatplotlibfig绘制国家
2条回答

PDF更大,因为它包含所有矢量信息。通过保存PNG,可以生成光栅化图像。在您的情况下,似乎可以通过直接栅格化绘图来生成较小的PDF:

plt.plot(x, y, 'r-', rasterized=True)

这里,x, y是一些绘图坐标。基本上,您必须使用额外的关键字参数raterized来实现效果

我认为使用“光栅化=真”可以有效地保存与png格式类似的图像。放大时,将看到模糊的像素

如果你想得到高质量的数据,我的建议是从数据中取样并绘制一幅图。pdf文件的大小大致相当于它需要记住的数据点的数量

相关问题 更多 >

    热门问题