2013-05-21 31 views

回答

15

plt.close()將完全關閉圖窗口,在這裏plt.clf()只會清除身影 - 你仍然可以畫另一個情節到它。

這聽起來像,爲你的需求,你應該更喜歡plt.clf(),或者更好的保持處理就行了對象本身(他們是在列出了plot調用返回的),並使用那些在隨後的迭代.set_data

1

plt.clf()清除了所有軸的整個當前圖形,但是將窗口打開,以便它可以重新用於其他繪圖。

plt.close()關閉窗口,如果未另行指定,該窗口將成爲當前窗口。

2

我認爲值得一提的是plt.close()可以釋放內存,因此在一次運行中生成並保存大量數據時是首選。

在這種情況下使用plt.clf()會產生後20個地塊警告(即使他們不打算通過plt.show()顯示):

超過20的數字已被打開。保留通過 pyplot接口(matplotlib.pyplot.figure)創建的數字,直到明確關閉 並可能消耗太多內存。

相關問題