plt.savefig 保存图片

画图占的内存很多,经常导致jupyter 卡顿,当图片超级多时,将图片复制到Excel里面也会导致Excel崩溃,因此需要我们将图片单独保存起来

import seaborn as sns
import matplotlib.pyplot as plt  
fig = plt.figure(figsize=[16,12])
for col,i in zip(col1,range(1,53)):
    sns.boxplot(data=data_iv,
            x='label',
            y=col)
    plt.title(col)
    f = plt.gcf()  #获取当前图像
    f.savefig(r'D:\{}.png'.format(col))
    f.clear()  #释放内存

注意plt.show() 和plt.savefig("filename.png") 的顺序

#得到的是一张空白的图片
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 2 * np.pi, 50)
y = np.sin(x)
plt.plot(x, y)
plt.show()
plt.savefig("filename.png")

原因:在 plt.show() 后调用了 plt.savefig() ,在 plt.show() 后实际上已经创建了一个新的空白的图片(坐标轴),这时候你再 plt.savefig() 就会保存这个新生成的空白图片

因此需要将plt.savefig()放在plt.show()之前,又或者是使用plt.gcf()固定图片,再保存

 

posted on 2021-01-07 09:38  小小喽啰  阅读(44851)  评论(4编辑  收藏  举报