Matplotlib 循环绘制多个图,内存溢出merroy error

内存错误的原因是figure对象重复建立。要在for循环外创建一个fig对象,循环利用,最后利用。cla()及.clf()清除fig对象上的内容

fig = plt.figure(figsize=(15, 15), dpi=300)
for eachdoy in YEARDOY:    
    your code
    plt.savefig(str(eachdoy)+'.png')  # 保存图片
    print(str(eachdoy)+'.png')  # 保存图片
    plt.cla()  # 清除axes,即当前 figure 中的活动的axes,但其他axes保持不变。
    plt.clf()  # 清除当前 figure 的所有axes,但是不关闭这个 window,所以能继续复用于其他的 plot。
    # plt.close()  # 关闭 window,如果没有指定,则指当前 window。
    # plt.close('all')

你可能感兴趣的:(Matplotlib 循环绘制多个图,内存溢出merroy error)