我正在使用pyplot绘制并在循环中保存一系列数字。循环的每次迭代产生并保存14个数字。我使用垃圾收集,并在每次迭代后关闭图形。循环的前几次迭代运行没有问题,但它最终吐出“内存不足”错误。单个迭代运行正常,并且使用垃圾收集,我倾向于认为在循环运行任何次数都应该没有问题。为什么此代码在几次迭代后会产生“Out of Memory”错误? 这就是代码的样子:
import matplotlib.pyplot as plt
import gc as gc
.
.
.
for i in MyDays:
fig = [0]
fig = plt.figure(figsize=(12,9))
ax[0] = fig.add_subplot(2,1,1)
ax[0].bar(index,histogram1[i],alpha=opacity,color='darkblue')
ax[1] = fig.add_subplot(2,1,2)
ax[1].bar(index,histogram2[i],alpha=opacity,color='darkblue')
.
.
.
fig.savefig(PathToDirectory + " Day "+str(i+1)+".png", dpi=800)
plt.clf()
plt.close()
gc.collect()