将MatPlotLib图形转换为PowerPoint幻灯片
mplppt的Python项目详细描述
mplppt
mplppt
是一个简单的库,由一些我用来将matplotlib图形转换为powerpoint图形的黑脚本组成。我想这是一个破旧的图书馆。
目标
mplppt
寻求为matplotlib
图实现替代的savefig
函数。这个^ {CD3}}函数用单个轴将一个^ {< CD4}}图形保存到PowerPoint演示文稿中,其中包含一个包含该图的幻灯片。
安装
pip install mplppt
支持的转换
mplppt
支持以下matplotlib对象的[部分]转换:
- 行[
matplotlib.lines.Line2D
] - 矩形[
matplotlib.patches.Rectangle
] - 多边形[
matplotlib.patches.Polygon
] - pcolormesh[
matplotlib.collections.QuadMesh
] - 文本[
matplotlib.text.Text
]
到目前为止,mplppt
还不支持(除了许多其他东西):
- 标记(包括勾号)
- 线型
简单示例
mplppt可用的所有不同转换的示例。下面我们给出一个示例,说明如何将所有这些对象组合成一个绘图,然后可以将其导出到powerpoint:
# plot [Line2D]x=np.linspace(-1,5)y=np.sin(x)plt.plot(x,y,color='C1')# rectangleplt.gca().add_patch(mpl.patches.Rectangle((0,0),3,0.5))# polygonplt.gca().add_patch(mpl.patches.Polygon(np.array([[5.0,1.0],[4.0,-0.2],[2.0,0.6]]),color="red"))# pcolormeshx=np.linspace(0,1,100)y=np.linspace(0,1,100)X,Y=np.meshgrid(x,y)Z=X**2+Y**2plt.pcolormesh(X,Y,Z)# texttext=plt.text(0,0,'hello')# set limitsplt.ylim(-0.5,1)# Save figure to pptxmplppt.savefig('first_example.pptx')# show figureplt.show()
这将生成一个PowerPoint幻灯片,其外观如下:
太酷了!我还能用这个做什么?
您不必使用matplotlib!mplppt
存储库包含一些可以使用的标准PowerPoint形状。尝试以下操作:
ppt=mplppt.Group()# Create a new group of objectsppt+=mplppt.Rectangle(name='rect',x=0,y=0,cx=100,cy=100,slidesize=(10,5))# add an object to the groupppt.save('second_example.pptx')# export the group as a ppt slide
这些都有记录吗?
编号
这是怎么工作的?
存储库包含一个模板文件夹,它只不过是一个解压缩的空PowerPoint演示文稿。在复制模板文件夹并为形状添加一些xml
代码之后,修改后的文件夹被压缩到一个.pptx
文件中。
版权所有
?Floris Laporte-麻省理工学院许可证