在循环中保存Matplotlib图时内存溢出

tan*_*zil 4 python memory-management matplotlib

我正在使用迭代循环来使用Matplotlib绘制soame数据.当代码保存了大约768个图时,它会抛出以下异常.

RuntimeError: Could not allocate memory for image
Run Code Online (Sandbox Code Playgroud)

我的电脑有大约3.5 GB的RAM.是否有任何方法可以并行释放内存,以免内存耗尽?

mgi*_*son 8

close当你完成它们时,你还记得你的数字吗?例如:

import matplotlib.pyplot as plt

#generate figure here
#...
plt.close(fig)  #release resources associated with fig
Run Code Online (Sandbox Code Playgroud)

  • 这是QT4后端的一个错误,它们会在没有按顺序的情况下被轻微拆除,并且在`mpl`真正完成之前,c ++对象被`pyqt`释放和清理.忽略这些错误是安全的,并且已经在trunk上修复了(我不记得修复是否已经进入了1.2 bug修复版本) (3认同)