【发布时间】:2015-04-29 17:01:23
【问题描述】:
我有一个数据分析模块,其中包含多次调用matplotlib.pyplot API 以在每次运行中生成多达 30 个数字的函数。这些数字在生成后会立即写入磁盘,因此我需要从内存中清除它们。
目前,在每个函数结束时,我都会这样做:
import matplotlib.pyplot as plt
plt.clf()
但是,我不太确定这个语句是否真的可以清除内存。我特别担心,因为我发现每次运行我的模块进行调试时,我的可用内存空间都在不断减少。
每次将绘图写入磁盘后,我需要做什么才能真正清除内存?
【问题讨论】:
-
你试过
plt.close("all")吗?我有一个脚本可以创建大约 60 个图表,每个图表有 3 个轴。我在每次迭代结束时使用它。内存消耗似乎很正常。 -
感谢您的回答!有效!我还发现了这篇很棒的 stackoverflow 帖子 stackoverflow.com/questions/8213522/…,它回答了我的问题!
-
帖子stackoverflow.com/questions/8213522/… 不包括 plt.close("all")。我尝试使用该帖子中的所有建议选项,但只有 plt.close("all") 解决了我自己遇到的问题。
标签: python memory matplotlib