python - savefig 循环将以前的图添加到图中

标签 python for-loop matplotlib plot

我正在尝试使用 forloop 为我拥有的每组数据生成图形,但是虽然 .show() 命令生成了正确的图形,但 .savefig() 不断将先前绘制的值添加到新图形中。 在我的 forloop 中,这是代码的相关示例。

import matplotlib.pyplot as plt
plt.plot(X,Y[:,0],'o-')
plt.xlabel('x')
plt.savefig('plot'+str(i)+'.png')

作为对比,这里是 savefig plot这是 show() 显示的.可以看出,savefig() 图还绘制了之前的结果。

最佳答案

使用函数保存后必须关闭当前图形 plt.close():http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.close

或者您必须在通过plt.clf() 保存后清理当前图形:http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.clf

关于python - savefig 循环将以前的图添加到图中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37734512/

相关文章:

python - wxPython 和 matplotlib.widgets

python - 如何通过 sftp 进行异步文件传输?

r - 用 lm 对象填充列表

java - 为什么 for 循环的条件部分中的 "False"显示错误,但 "True"工作正常?

c - 环绕数组导致c中的意外输出

python - 创建一个 fiddle 图的正确方法是什么,其中一把 fiddle 按色调分开?

python - 从 pandas 数据框中绘制条形图

python - XPath Scrapy 结果问题 - OR 语句?

if 语句中的 Python 变量范围

python - 将未使用的数据传递给 python 函数 : any loss of performance?