我正在尝试使用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()图也绘制了之前的结果。
答案 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