gpt4 book ai didi

python - 如何完全清除所有 matplotlib 图的内存

转载 作者:IT王子 更新时间:2023-10-28 23:30:27 26 4
gpt4 key购买 nike

我有一个数据分析模块,其中包含多次调用 matplotlib.pyplot API 以在每次运行中生成多达 30 个图形的函数。这些数字在生成后会立即写入磁盘,因此我需要从内存中清除它们。

目前,在每个函数结束时,我都会这样做:

import matplotlib.pyplot as plt

plt.clf()

但是,我不太确定这个语句是否真的可以清除内存。我特别担心,因为我发现每次运行我的模块进行调试时,我的可用内存空间都在不断减少。

每次将绘图写入磁盘后,我需要做什么才能真正清除内存?

最佳答案

特别是当您运行多个进程或线程时,最好定义您的图形变量并直接使用它:

from matplotlib import pyplot as plt

f = plt.figure()
f.clear()
plt.close(f)

无论如何,必须结合使用 plt.clear() 和 plt.close()

更新(2021/01/21)

如果您使用 MacOS 系统及其默认后端(称为“MacOSX”),则这不起作用(至少在 Big Sur 中)。我找到的唯一解决方案是切换到其他知名后端,例如 TkAgg、Cairo 等。要做到这一点,只需键入:

import matplotlib
matplotlib.use('TkAgg') # Your favorite interactive or non-interactive backend

关于python - 如何完全清除所有 matplotlib 图的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28757348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com