matplotlib PdfPages - 存储包含大量数据的绘图的有损副本

时间:2013-12-10 02:43:42

标签: python matplotlib pdfpages

我正在使用matplotlib.pyplot创建绘图并将它们写入pdf。这些图中的一些具有较大(高达100,000)点并且显然具有许多重叠点,即图表的某些部分仅仅是实体质量。 (没关系 - 我对图表的稀疏部分看起来很感兴趣。)

当我将这些图保存到pdf时,编写需要很长时间,阅读pdf会更糟。有没有办法在pdf中存储情节的“有损”副本?例如,如果我拍摄了情节的截图并将其嵌入到pdf中,那么它的加载速度会快得多。

1 个答案:

答案 0 :(得分:3)

我建议尝试使用rasterized选项进行绘图:

pts = np.random.rand(2, 100000)
plt.scatter(*pts, rasterized=True)
plt.savefig('rast.pdf')

进行比较:

plt.scatter(*pts)
plt.savefig('reg.pdf')

$ ls -lh tmp*.pdf
177K Dec  9 22:03 tmp_rast.pdf
1.5M Dec  9 22:02 tmp_reg.pdf