为啥 Matplotlib savefig 图像重叠?
Posted
技术标签:
【中文标题】为啥 Matplotlib savefig 图像重叠?【英文标题】:Why does Matplotlib savefig images overlap?为什么 Matplotlib savefig 图像重叠? 【发布时间】:2013-12-19 13:36:14 【问题描述】:我在 python 中构建了一个使用 Tkinter 的 GUI 应用程序。
当单击按钮时,此应用会生成并显示图像。
图像是使用 matplotlib savefig("displayimage.png") 生成的,与我的应用程序 .py 文件位于同一文件夹中。
第一次按下按钮时显示图像很好,但第二次按下时新图像与旧图像重叠。
我尝试通过 os.remove("displayimage.png") 从文件夹中删除现有图像,但这根本没有帮助。
你知道为什么它不只是覆盖旧图像而不是重叠吗?
ps。我尝试保存为 .jpg 但结果相同。
提前致谢。代码:
# make a square figure and axes
figure(1, figsize=(6, 6))
ax = axes([0.1, 0.1, 0.8, 0.8])
# The slices will be ordered and plotted counter-clockwise.
labels = words
fracs = percent
colors = ('yellowgreen', 'gold', 'lightskyblue', 'lightcoral', 'blue', 'yellow', 'cyan', 'pink',
'purple', 'green', 'magenta', 'orange')
pie(fracs, labels=labels, colors=colors,
autopct='%.1f%%', shadow=True, startangle=90)
title("Most used words", fontsize=20)
savefig('senalyzed_piechart.png',dpi=80)
【问题讨论】:
请提供您的代码。您在绘图之前和之后使用 pyplot.figure() 和 pyplot.close() 命令吗? @leeladam 我现在添加了代码。我只是使用 savefig .. 【参考方案1】:这是因为您没有清除缓冲区。使用 plot.clf() 方法就可以了。
【讨论】:
做到了!非常感谢! 这是一个很好的ref,关于如何清除 matplotlib 轴和图形。以上是关于为啥 Matplotlib savefig 图像重叠?的主要内容,如果未能解决你的问题,请参考以下文章
具有紧凑布局和字幕的 Matplotlib savefig 在标题和图像之间产生额外的空间
Python使用matplotlib保存图像时发生自动裁剪丢了部分标签信息解决方案(plt.savefig保存时丢失了部分标签字符)
Matplotlib,savefig() 的替代品以提高保存到 CString 对象时的性能?
使用 matplotlib.pyplot、imshow() 和 savefig() 以全分辨率绘图?
python_matplotlib 输出(保存)矢量图方法;画图时图例说明(legend)放到图像外侧;Python_matplotlib图例放在外侧保存时显示不完整问题解决