matplotlibでFigureを作成する標準的な方法は、私がPythonで期待するように動作しないようです。デフォルトでは、ループ内でfig = matplotlib.figure()
を呼び出すと、最終的にメモリ不足になります。参照カウントされた図を作成する
があります回避策に対処quiteafewの記事ですが、matplotlib.pyplot.close(fig)
に明示的な呼び出しを必要とするのは少しハックようです。私が望むのは、fig
参照を数えさせる簡単な方法です。そのため、メモリリークについて心配する必要はありません。これを行うにはいくつかの方法がありますか?
これは、手動でのメモリ管理によく似ています。この場合、figureはWindowingシステムの外部リソース(ファイル記述子のようなもの)で、 'plt.figure()'はコンストラクタです。 'plt.close fig) 'はデストラクタです。 'clf'や' cla'などのために多くの破壊レベルがありますが。この場合、適切な方法は 'with 'ブラケットイディオム(" context manager ")を使うことです。 – CMCDragonkai