将 matplotlib 绘图直接添加到 Word 文档,而不先将图像保存到磁盘

问题描述 投票:0回答:1

如果我首先使用以下代码行将绘图保存为 .png 文件,我可以将 matpltlib 生成的绘图添加到 word 文件(使用 python-docx)

plt.savefig(path_to_file)

doc.add_picture(path_to_file, width=Inches(3))

有没有一种方法可以直接将绘图添加到Word文档中,而无需先另存为图像。使用

doc.add_picture(plt, width=Inches(3))

产生模块“matplotlib.pyplot”没有属性“seek”错误

python matplotlib
1个回答
0
投票

python-docx 函数

add_picture
将路径或流作为第一个参数,并且 matplotlib 可以返回图形作为缓冲区,因此大概以下应该可以工作:

import matplotlib.pyplot as plt

from io import BytesIO

fig, ax = plt.subplots()
... 

# render the figure
fig.canvas.draw()

# save to buffer
buffer = BytesIO()
fig.savefig(buffer, format="png")

# hand buffer to python-docx
doc.add_picture(buffer)
© www.soinside.com 2019 - 2024. All rights reserved.