微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将绘图添加到演示文稿中而不将其保存为图像

如何解决将绘图添加到演示文稿中而不将其保存为图像

我正在尝试将图像添加到 PowerPoint 演示文稿中。我能够实现它,但我想在不将其保存到资源管理器中的情况下添加它。

这是我的代码

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

np.random.seed(12)
df = pd.DataFrame(np.random.randn(6,4),index = range(1,7),columns = list('ABCD'))

# creating and saving the plot in the explorer
plot_1 = plt.plot(df)
plt.savefig('plot_1.png')
plot_1 = 'plot_1.png'

presentation = Presentation()
presentation.slide_width = Inches(16)
presentation.slide_height = Inches(9)
layout = presentation.slide_layouts[6]
slide = presentation.slides.add_slide(layout)
left = Inches(1)
top = Inches(0.5)
plot = slide.shapes.add_picture(plot_1,left,top)
presentation.save('test.pptx')

知道如何将绘图添加到演示文稿中而不将它们保存到资源管理器中吗?

解决方法

你可以使用python-pptx提供的“add_chart”函数。它将创建交互式图表,就像您从 Powerpoint 创建一样。 Official documentation link

chart_data = ChartData()
chart_data.categories = 'Foo','Bar'
chart_data.add_series('Series 1',(1.2,2.3))
chart_data.add_series('Series 2',(3.4,4.5))

x,y,cx,cy = Inches(2),Inches(2),Inches(6),Inches(4)
graphic_frame = shapes.add_chart(
    XL_CHART_TYPE.COLUMN_CLUSTERED,x,cy,chart_data
)
chart = graphicFrame.chart

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。