畫圖占的內存很多,經常導致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()固定圖片,再保存