1. 程式人生 > >matplotlib--畫圖時儲存圖片空白的問題

matplotlib--畫圖時儲存圖片空白的問題

問題:

當使用如下程式碼儲存使用 plt.savefig 儲存生成的圖片時,結果開啟生成的圖片卻是一片空白。

import matplotlib.pyplot as plt

""" 一些畫圖程式碼 """

plt.show()
plt.savefig("filename.png")

  

原因:

其實產生這個現象的原因很簡單:在 plt.show() 後呼叫了 plt.savefig() ,在 plt.show() 後實際上已經建立了一個新的空白的圖片(座標軸),這時候你再 plt.savefig()

 就會儲存這個新生成的空白圖片。

 

解決:

方法一:在 plt.show() 之前呼叫 plt.savefig()

import matplotlib.pyplot as plt

""" 一些畫圖程式碼 """

plt.savefig("filename.png")
plt.show()

  

方法二:畫圖的時候獲取當前影象(這一點非常類似於 Matlab 的控制代碼的概念):

 # gcf: Get Current Figure
fig = plt.gcf()
plt.show()
fig1.savefig('tessstttyyy.png', dpi=100)

  

 

參考文獻:解決使用 plt.savefig 儲存圖片時一片空白