matplotlib畫圖時儲存圖片空白的問題,
阿新 • • 發佈:2019-02-15
如何解決畫圖的問題,寫論文需要eps,匯入latex,結果預覽結果為空表,後來發現是下面的情況導致:
jupyter notebook在一行儲存不會有空白
plt.plot(x, np.sin(x))
plt.savefig('figures/02.03-sine.png')
- 1
- 2
分兩行執行,則出現儲存的空白。
plt.show()
plt.savefig("filename.png")
- 1
- 2
其實產生這個現象的原因很簡單:在plt.show() 後呼叫了plt.savefig() ,在plt.show() 後實際上已經建立了一個新的空白的圖片(座標軸),這時候你再plt.savefig() 就會儲存這個新生成的空白圖片。
知道了原因,就不難知道解決辦法了,解決辦法有兩種:
一、 在plt.show() 之前呼叫plt.savefig();
plt.savefig("filename.png")
plt.show()
- 1
- 2
二、 畫圖的時候獲取當前影象(這一點非常類似於Matlab的控制代碼的概念):
# gcf: Get Current Figure
fig = plt.gcf()
plt.show()
fig.savefig('tessstttyyy.png', dpi=100)