在图形对象上使用
.clf或
.cla,而不要创建一个 新
图形。来自@DavidZwicker
假设您已导入
pyplot为
import matplotlib.pyplot as plt
plt.cla()清除轴,即当前图形中的当前活动轴。它使其他轴保持不变。
plt.clf()清除所有轴的整个当前图形,但使窗口保持打开状态,以便可以将其重新用于其他图形。
plt.close()关闭一个window,如果没有另外指定,它将是当前窗口。
plt.close('all')将关闭所有未结数字。
之所以
del fig不起作用,是因为
pyplot状态机一直在参考周围的图形(因为要知道“当前图形”是什么,就必须这样做)。这意味着即使您删除对该图
的 引用,也至少有一个活动引用,因此将永远不会进行垃圾回收。
由于我在这里就此答案轮询集体智慧,因此@JoeKington在评论中提到
plt.close(fig)将从pylab状态机(plt._pylab_helpers.Gcf)中删除特定的图形实例,并允许对其进行垃圾回收。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)