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

1つのIPythonノートブックで同じMatplotlibの図を複数回表示する方法

1つのIPythonノートブックで同じMatplotlibの図を複数回表示するには?

1つのIPythonノートブックの中で、作成済みの同じMatplotlibの図(figure)を何度も表示したい場合があります。そのようなときは、インタラクティブなバックエンドを使用し、fig.show()メソッドを呼び出すことで、現在のfigureを繰り返し表示できます。

以下の手順で実現できます。

  • 図のサイズを設定し、rcParamsを使ってサブプロット間および周囲のパディング(余白)を自動調整します。
  • figureとサブプロット(Axes)を作成します。
  • そのAxes上にデータをプロットします。
  • 現在のfigureを再度表示するために、fig.show()メソッドを呼び出します。

サンプルコード

In [1]: %matplotlib auto
Using matplotlib backend: Qt5Agg

In [2]: import matplotlib.pyplot as plt

In [3]: plt.rcParams["figure.figsize"] = [7.50, 3.50]
...: plt.rcParams["figure.autolayout"] = True

In [4]: fig, ax = plt.subplots()

In [5]: ax.plot([2, 4, 7, 5, 4, 1])
Out[5]: [<matplotlib.lines.Line2D at 0x7f4270361c50>]

In [6]: fig.show()

コードの解説

%matplotlib autoマジックコマンドを実行すると、環境に応じたインタラクティブなバックエンド(ここではQt5Agg)が有効になります。このバックエンドでは、plt.subplots()で作成したfigureを独立したウィンドウとして表示できるため、fig.show()を呼び出すたびに同じfigureを何度でも再表示できます。

また、plt.rcParams["figure.figsize"]で図のサイズを指定し、plt.rcParams["figure.autolayout"] = Trueを設定することで、ラベルやタイトルが図の外にはみ出さないよう余白が自動的に調整されます。

出力結果

上記のコードを実行すると、折れ線グラフが描画されたfigureウィンドウが表示され、fig.show()を呼び出すたびに同じ図が再度ポップアップ表示されます。

1つのIPythonノートブックで同じMatplotlibの図を複数回表示する方法

  1. FlaskでMatplotlibのグラフを表示する方法【サンプルコード付き】

    Webアプリケーション上でグラフを動的に表示したい場合、FlaskとMatplotlibを組み合わせるのが効果的です。この記事では、Flaskアプリケーション内でMatplotlibのプロットをPNG画像としてブラウザに返す方法を、具体的な手順とサンプルコードとともにわかりやすく解説します。 実装の流れ FlaskでMatplotlibのグラフを表示するまでの基本的な手順は以下の通りです。 小さなFlaskアプリケーションを作成する カレントディレクトリに移動し、環境変数を設定してアプリを起動する$ export FLASK_APP=file.py$ flask run ブラウザで http

  2. MatplotlibでJupyterノートブックのmatshow()のfigsize(図のサイズ)を変更する方法

    Matplotlibのmatshow()メソッドで表示される図のサイズ(figsize)を変更したい場合、figure()メソッドの引数にfigsizeを指定し、matshow()メソッドにはfignumを指定することで実現できます。手順figure()メソッドを使って、新しい図を作成するか、既存の図をアクティブにします。このとき、figsize引数で図のサイズを指定できます。Pandasを使ってデータフレームを作成します。matshow()メソッドを使って、配列を行列として新しい図ウィンドウに表示します。引数fignumには、None、整数、または0を指定できます。Noneの場合:自動的に番