Python
 Computer >> コンピューター >  >> プログラミング >> Python

Matplotlibで開いているすべてのpyplotウィンドウを閉じる方法

Matplotlibで複数の図(figure)ウィンドウを開いたまま作業していると、メモリの無駄遣いや表示の混乱につながることがあります。この記事では、close()メソッドを使ってpyplotのウィンドウを閉じるさまざまな方法を解説します。

close()メソッドの使い方一覧

Matplotlibでは、状況に応じて以下のようにclose()を使い分けることができます。

  • plt.figure().close():特定の図ウィンドウを閉じます。
  • close():引数なしで呼び出すと、現在アクティブな図を閉じます。
  • close(h):Figureインスタンス h を指定すると、その図だけを閉じます。
  • close(num):図の番号(number=num)に該当する図を閉じます。
  • close(name):文字列 name を指定すると、そのラベルを持つ図を閉じます。
  • close('all'):開いているすべての図ウィンドウを一括で閉じます。

サンプルコード

from matplotlib import pyplot as plt
fig = plt.figure()
ax = fig.add_subplot()
plt.show()
plt.close()

実行結果

Matplotlibで開いているすべてのpyplotウィンドウを閉じる方法

上記のコードでは、まず plt.show() で図が表示され、その後に plt.close() が呼び出されてウィンドウが閉じられます。

show()とclose()の順序を入れ替えるとどうなる?

ここで、コード内の「plt.show()」と「plt.close()」の順序を入れ替えてみましょう。この場合、図はすでに閉じられた状態になっているため、画面には何も表示されません。つまり、plt.show() を呼び出す前に図を閉じてしまうと、プロットは一切確認できなくなります。図を表示したい場合は、必ず show() を先に実行してから close() を呼び出すようにしましょう。

  1. 【Matplotlib】サブプロット間の余白を削除する方法

    Matplotlibでサブプロット間のスペース(余白)を削除したい場合は、GridSpec(3, 3)クラスを使用し、グリッド状のレイアウトに沿ってAxes(軸)をサブプロットとして配置するのが効果的です。実装の手順図(figure)のサイズを設定し、サブプロット間および周囲のパディングを調整します。図の中にサブプロットを配置するためのグリッドレイアウトを追加します。グリッドのサブプロットパラメータを更新します(wspace・hspaceの調整)。グリッド仕様の次元の範囲でループ処理を行います。現在の図にサブプロットを追加します。各サブプロットのアスペクト比を設定します。図を表示するには、sh

  2. Matplotlib PyplotでフィギュアのAxes(軸)リストを取得する方法

    MatplotlibのPyplotを使ってフィギュアに含まれるAxes(軸)のリストを取得するには、まずフィギュアを作成し、その後get_axes()メソッドを呼び出すことで、フィギュア内のすべてのAxesオブジェクトを取得できます。取得したAxesに対して、ラベルの設定などの操作を行うことが可能です。手順NumPyを使ってデータ点 xs と ys を作成し、figure()メソッドで新しいフィギュア(または既存のフィギュア)を生成します。add_subplot()メソッドを使用して、サブプロット配置の一部としてフィギュアにAxesオブジェクトを追加します。ここでは nrows=1、ncols