プロットをクリアするために cla()、clf()、close() を使用するタイミング 質問する

プロットをクリアするために cla()、clf()、close() を使用するタイミング 質問する

Matplotlib は次の関数を提供します:

cla()   # Clear axis
clf()   # Clear figure
close() # Close a figure window

各機能はいつ使用すればよいですか? また、各機能は具体的に何をするのですか?

ベストアンサー1

matplotlib は階層的な順序を使用しており、図ウィンドウには多数の軸で構成される図が含まれるため、これらはすべて異なることを行います。さらに、pyplot インターフェイスからの関数と、クラス上のメソッドがありますFigure。以下では両方のケースについて説明します。

pyplot インターフェース

pyplotは、matplotlib を関数的に使用できるようにするいくつかの関数を収集したモジュールです。ここでは、 がpyplotとしてインポートされていると想定していますimport matplotlib.pyplot as plt。この場合、内容を削除する 3 つの異なるコマンドがあります。

見るmatplotlib.pyplot機能:

  • plt.cla()、つまり現在の図の現在アクティブな軸をクリアします。他の軸はそのまま残ります。
  • plt.clf()現在の図全体とそのすべての軸をクリアしますが、ウィンドウは開いたままにして、他のプロットに再利用できるようにします。
  • plt.close()特に指定がない場合は、現在のウィンドウとなるウィンドウを閉じます。

したがって、どの機能が最適であるかは、使用事例によって異なります。

さらに、このclose()関数では、どのウィンドウを閉じるかを指定できます。引数は、を使用してウィンドウを作成したときにウィンドウに与えられた番号または名前、または、を使用して取得されたfigure(number_or_name)図のインスタンスのいずれかになります。 に引数が指定されていない場合は、現在アクティブなウィンドウが閉じられます。さらに、すべての図を閉じる構文 があります。figfig = figure()close()close('all')

Figureクラスのメソッド

さらに、Figureクラスは数字をクリアするためのメソッドを提供します。以下では、figが のインスタンスであると仮定しますFigure

fig.clf()フィギュア全体をクリアするこの呼び出しは、 が現在の図であるplt.clf()場合にのみと同等になります。fig

fig.clear()は同義語であるfig.clf()

関連する図ウィンドウは閉じられないことに注意してくださいdel fig。私の知る限り、図ウィンドウを閉じる唯一の方法は、plt.close(fig)上記のように使用することです。

おすすめ記事