【问题标题】: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 ..

标签: python user-interface matplotlib tkinter


【解决方案1】:

这是因为您没有清除缓冲区。使用 plot.clf() 方法就可以了。

【讨论】:

  • 做到了!非常感谢!
  • 这是一个很好的ref,关于如何清除 matplotlib 轴和图形。
猜你喜欢
  • 2011-03-08
  • 1970-01-01
  • 2022-11-12
  • 2012-02-19
  • 2012-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多