无法将多个图像另存为单个pdf

时间:2019-07-16 06:18:04

标签: python pandas matplotlib

我在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创建了一个空白文件。没有错误或警告。

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

1 个答案:

答案 0 :(得分:0)

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

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])