Matplotlib:带有光栅化绘图的多页PDF

2024-05-23 17:23:32 发布

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

我使用以下代码生成一个多页pdf。 因为我会有大约3000个图,每页10个。pdf可能会变得很糟糕。 我想用jpg或pdf版本来代替每一个绘图。但我不知道如何在PdfPage后端中完成它。在

plots_per_page = 10
col_per_page = 1

with PdfPages('NewPDF.pdf') as pdf:
    for pgg in range(0,pages):

        fig = figure(figsize=(8,20) )
        gs1 = gridspec.GridSpec(plots_per_page//col_per_page, col_per_page)

        for i in arange(0,10):
            ax = fig.add_subplot(gs1[i])
            ax.bar(arange(20), random.normal(0,1,20), linewidth = 0.5)

        gs1.tight_layout(fig , h_pad=0.8, w_pad=0.8)
        axis('auto')

        savefig(pdf, format='pdf')
        close()

Tags: inforpdfpagefigcolaxgs1
1条回答
网友
1楼 · 发布于 2024-05-23 17:23:32

你有一个类似的问题,我想:Rasterizing multiple elements in matplotlib

one of the answers there,使用:

ax = fig.add_subplot(111, rasterized=True)

或者做:

^{pr2}$

然后,如果要再微调文件大小,可以设置绘图的分辨率:

savefig(pdf, format='pdf', dpi=300)

相关问题 更多 >