如何将matplotlib生成的多个绘图发送到pptx而不产生任何重叠?

2024-05-12 22:50:01 发布

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

我正在从事一个项目,在该项目中,我使用Python中的matplotlib模块生成数百个绘图。我想使用python pptx模块将这些绘图放在pptx中,假设幻灯片上有四个绘图,而不将这些绘图存储在本地磁盘上。 为了解决存储问题,我使用了BytesIO python模块,该模块将绘图存储在缓冲区内,然后将这些绘图发送到pptx。 我面临的主要问题是情节重叠

问题是如何将这些绘图连续发送到pptx,以避免重叠?

生成pptx的屏幕截图

result

我已经添加了pptx的屏幕截图,我正在尝试添加两个情节 图1(年龄与姓名), 地块2(高度与名称), 但是如果你看到图2图1和图2的数据重叠了。我想避免这种重叠


Tags: 模块项目绘图高度屏幕matplotlib磁盘缓冲区
1条回答
网友
1楼 · 发布于 2024-05-12 22:50:01

需要清除每个绘图之间的轴,有几种方法:

  • plt.clf():清除当前图形
  • plt.cla():清除当前轴

因此,而不是例如

plt.scatter(x, y1)
# save first plot
plt.scatter(x, y2)
# save second plot

是吗

plt.scatter(x, y1)
# save first plot
plt.clf()
plt.scatter(x, y2)
# save second plot

两个散点图将分别绘制。这可能是最“直截了当”的方法,但它应该工作得相当好。对于任何具体情况,这绝不是最好的方法

调用plt.show()时,该图也会被清除,但我认为在这种情况下这是不可取的

相关问题 更多 >