使用python pptx将matplotlib图形保存在ppt文件中而不保存figu

2024-05-16 02:31:02 发布

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

是否有任何方法可以在使用python pptx的powerpoint演示文稿中绘制matplotlib图形,而不将图形保存为*.jpg或*.png? 下面简单的方法是将matplotlib图形保存为图像文件,然后将其加载到python pptx,但这根本不是有效的方法。

import numpy as np
import matplotlib.pyplot as plt
from pptx import Presentation
from pptx.util import Inches 

np.random.seed(5)
x = np.arange(1, 101)
y = 20 + 3 * x + np.random.normal(0, 60, 100)
plt.plot(x, y, "o")
plt.plot([70, 70], [100, 250], 'k-', lw=2)
plt.plot([70, 90], [90, 200], 'k-')

plt.show()
plt.savefig('graph.jpg')
img = 'graph.jpg'
prs = Presentation()
title_slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(title_slide_layout)
pic = slide.shapes.add_picture(img, Inches(1), Inches(1), height=Inches(1))

Tags: 方法fromimport图形plotmatplotlibasnp
1条回答
网友
1楼 · 发布于 2024-05-16 02:31:02

绘图可以保存为内存中类似对象的文件(StringIO),然后传递给python-pptx

from StringIO import StringIO

image_stream = StringIO()
plt.savefig(image_stream)
pic = shapes.add_picture(image_stream, x, y, cx, cy)

相关问题 更多 >