savefig循环添加了以前的图表

时间:2016-06-09 19:21:08

标签: 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()图也绘制了之前的结果。

2 个答案:

答案 0 :(得分:20)

使用功能保存后,您必须关闭当前数字 plt.close()http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.close

或者您必须按照plt.clf() http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.clf

保存后清除当前数字

答案 1 :(得分:2)

在添加plt.clf()之前,我制作了一些漂亮的图表,以在每次循环中清除图。 scatterplot1 scatterplot2