【问题标题】:Unable to save multiple images as single pdf无法将多个图像保存为单个 pdf
【发布时间】:2019-11-24 19:49:32
【问题描述】:

我在 Python 中相对较新,在 Matplotlib 中更是如此。我在循环中创建了多个图,并且能够将单个图像保存为 .png 或 .pdf 文件。但是,当我尝试将所有图像保存在一个文件中时,会创建空白 pdf。

我认为我的问题在于 plt.figure 在不正确的地方使用,但我无法正确使用。

我的代码:

pdf = matplotlib.backends.backend_pdf.PdfPages("output_2.pdf")

for a in ar['AR']:
    dfp=pd.DataFrame(index=range(52))
    dfp=dfp.assign(wk=[f'WK_{i}' for i in range(1, len(dfp) + 1)])
    ly=df[df['AR']==a](some calculation)
    dfp=dfp.join(ly)
    fig=plt.figure()
    dfp.plot(style='.-')
    pdf.savefig(fig)
    plt.savefig(a+'.pdf')
    plt.close()
pdf.close()

plt.savefig 按预期将单个图形保存为 pdf,但 pdf.savefig 正在创建一个空白文件。没有错误或警告。

如果有人能指出我正确的方向,将不胜感激。

【问题讨论】:

标签: python pandas matplotlib


【解决方案1】:

我认为这可能会解决您的问题,我也遇到了同样的错误,我认为这会对您有所帮助

from PIL import Image

a4im = Image.new('RGB',
                 (1654, 2338), 
                 (255, 255, 255))
a4im2 = Image.new('RGB',
                 (1654, 2338), 
                 (255, 255, 255))

img = Image.open("image_1.jpg")
img = img.convert('RGB')
img = img.resize((1600, 720))
a4im.paste(img, (27,10))

img_2 = Image.open("image_2.jpg")
img_2 = img_2.convert('RGB')
img = img.resize((1600, 720))
a4im2.paste(img_2, (27, 10))

a4im.save("out.pdf", save_all=True, append_images=[a4im2])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    • 2010-10-15
    • 2021-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多