問題:當使用如下代碼保存使用 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. 畫圖的時候獲取當前圖像(這一點非常類似於 Matlab 的句柄的概念):
# gcf: Get Current Figure
fig = plt.gcf()
plt.show()
fig1.savefig('test.png', dpi=100)
原文鏈接:http://blog.csdn.net/u010099080/article/details/52912439