请教:python用matplotlib循环取用数据画图内存不够提示Fail to allocate bitmap

代码就是简单重复取用列表来画图,但是我的8G内存电脑画到369张图的时候就中断报错了。
img
代码是这样子的:

for i in range(1000):
    a = [1,3,5]
    b =[2,4,7]
    c=[5,1,3]
    d=[7,2,4]
    plt.cla()
    plt.plot(a, b, c='red' , label='ab')
    plt.plot(c, b, c = 'black',label='bb')
    plt.plot(c, d, c = 'blue',label='cd')
    plt.tight_layout()
    plt.savefig(os.getcwd() + '\\SAVE\\' + str(i) + '.png',dpi=20)
    plt.figure(clear=True)
    plt.clf()
    plt.close()


尝试了好多方法,plt.cla()、plt.clf()、plt.figure(clear=True)、plt.close()、gc.collect()这些方法都没有用。
求指点。

问题解决了吗? 我最近也碰到这个问题了,也是369张图就终止了,很多方法都不行,内存显然是足够的,我有64G,计算的时候也只是用了不到20G。在引用的地方加入(原文链接:

import matplotlib
matplotlib.use("Agg")

重新运行,没有再终止了,问题的原因应该是plt.show()虽然没显示,但还是会占用内存。最终一次性成功生成了几万张图没有终止。

这个是内存不足造成的,可以参考这篇文章,希望对你有帮助: python:Fail to allocate bitmap_fwt1226的博客-CSDN博客 Fail to allocate bitmap在生成图片时突然停止,发生报错:Fail to allocate bitmap。原因分析:内存不足。源代码:plt.figure()plt.boxplot(data)plt.savefig('boxplots/text{0}/user{1}/{2}.png'.format(text, user, index))修改:plt.figur... https://blog.csdn.net/fwt1226/article/details/105581905

赞啦,搞定收工