解決使用 plt.savefig() 保存圖片時一片空白

當使用如下代碼保存使用 plt.savefig 保存生成的圖片時,結果打開生成的圖片卻是一片空白。

import matplotlib.pyplot as plt

""" 一些作圖代碼 """
plt.show()
plt.savefig("filename.png")

原因
其實產生這個現象的原因很簡單:當調用 plt.show() 後,實際上已經創建了一個新的空白的圖片(座標軸),這個時候會覆蓋住原來plt產生的內容,這時候再 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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章