首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >plt.close()和plt.clf()之间的区别

plt.close()和plt.clf()之间的区别
EN

Stack Overflow用户
提问于 2013-05-21 11:47:04
回答 4查看 46.1K关注 0票数 30

matplotlib.pyplot中,plt.clf()plt.close()有什么不同?它们会以同样的方式发挥作用吗?

我正在运行一个循环,在每次迭代结束时,我都会生成一个图形并保存该图。在最初的几次尝试中,情节在随后的每一次情节中都保留了旧的数字。我正在寻找每次迭代的单独图,没有旧的图形,我使用哪一个重要吗?我正在运行的计算需要很长的时间,而且测试它将非常耗时。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-05-21 11:50:01

plt.close()将完全关闭图形窗口,plt.clf()将只清除图形-您仍然可以在其上绘制另一个绘图。

听起来,为了满足您的需要,您应该首选plt.clf(),或者更好的做法是保持对line对象本身的句柄(它们由plot调用在列表中返回),并在后续迭代中对这些对象使用.set_data

票数 39
EN

Stack Overflow用户

发布于 2017-10-26 22:45:56

我认为值得一提的是,plt.close()释放了内存,因此在一次运行中生成和保存多个图形时是首选的。

在这种情况下使用plt.clf()将在绘制20个图形后产生警告(即使它们不会在plt.show()中显示):

已经开放了20多个数字。通过pyplot接口(matplotlib.pyplot.figure)创建的图形将一直保留到显式关闭,并且可能会消耗太多内存。

票数 9
EN

Stack Overflow用户

发布于 2017-07-08 01:09:10

plt.clf()将清除整个当前地物及其所有轴,但使窗口保持打开状态,以便它可以重复用于其他绘图。

如果未另外指定,plt.close()将关闭一个窗口,该窗口将是当前窗口。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16661790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档