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