2013-05-21 43 views

答えて

15

plt.close()は、Figureを完全に閉じることになります。plt.clf()は、図をクリアするだけです。まだ別のプロットを描くことができます。

それはあなたのニーズに合わせて、あなたがplt.clf()を好むべきである、ように聞こえる、またはいっそのオブジェクト自体のラインのハンドルを保つ(それらはplot呼び出しによってリストに返される)と、後続の反復でそれらに.set_dataを使用しています。

1

plt.clf()は、現在の図形全体をすべての軸で消去しますが、他の図形で再利用できるように、そのウィンドウを開いたままにします。

plt.close()は、ウィンドウを閉じます。これは、特に指定がない限り、現在のウィンドウになります。

2

私はplt.close()がメモリを解放することを言及する価値があると思うので、1回の実行で多くの数字を生成して保存するときは、メモリが優先されます。

20以上の数字が開かれています(彼らはplt.show()によって示されようとしていない場合であっても)20のプロットの後に警告が生成されますこのような場合にplt.clf()を使用して

。 pyplotインターフェイス(matplotlib.pyplot.figure)で作成された図は、 が明示的に閉じられ、あまりにも多くのメモリを消費する可能性があります。

関連する問題