首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python-pptx将matplotlib图形保存为ppt文件,不保存图形

使用python-pptx将matplotlib图形保存为ppt文件,不保存图形
EN

Stack Overflow用户
提问于 2017-05-10 00:39:51
回答 1查看 12.7K关注 0票数 3

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

代码语言:javascript
复制
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))
EN

回答 1

Stack Overflow用户

发布于 2017-05-10 05:01:57

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

代码语言:javascript
复制
from StringIO import StringIO

image_stream = StringIO()
plt.savefig(image_stream)
pic = shapes.add_picture(image_stream, x, y, cx, cy)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43875424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档