在我的代码中,我试图定期创建图形并将图形保存到文件中。代码如下:

import pylab as p

def simpledist(speclist,totalbugs,a):
    data = [float(spec.pop)/float(totalbugs) for spec in speclist]
    p.hist(data)
    p.savefig('/Home/s1215235/Documents/python/newfolder/' + str(a) + '.png')

(a是一个计数器)

但是,这样做意味着所创建的每个新图都将一直覆盖在图上。我如何让它知道,一旦保存完图形,我希望它开始创建一个新图形?

最佳答案

要清除情节,请使用 p.clf

def simpledist(speclist,totalbugs,a):
    data = [float(spec.pop)/float(totalbugs) for spec in speclist]
    p.clf()
    p.hist(data)
    p.savefig('/Home/s1215235/Documents/python/newfolder/' + str(a) + '.png')

假设pmatplotlib.pyplotfigure实例,也可以@bernie所说的-也可以正常工作。

@Yann的评论

如果您已经设置了标题,轴标签等,则将取消所有这些设置。最好按照他说的去做,然后尝试
 p.gca().cla()

保留您的辛勤工作。谢谢亚恩!

10-08 04:17