画图占的内存很多,经常导致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()固定图片,再保存