Matplot 繪圖 – 解决使用 plt.savefig 保存圖片時變成空白圖片

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

import matplotlib.pyplot as plt

""" 畫圖程式碼如下 """

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

原因是因為在 plt.show() 後使用了 plt.savefig(),在 plt.show() 後實際上已經創建了一個新的空白的圖片(坐標軸),這時候你再 plt.savefig() 就會保存這個新生成的空白圖片。
解決方法:
1. 在plt.show()之前使用plt.savefig():

import matplotlib.pyplot as plt

""" 畫圖程式碼如下 """

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

2. 畫圖前時候先獲取當前圖像,使用plt.gcf():

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

 

發表留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料