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

plt.show()はいつ必要?いつ不要?fig.show()との違いを解説

Matplotlibでグラフを表示するとき、「plt.show()」と「fig.show()」のどちらを使えばよいのか迷ったことはありませんか。結論から言うと、対話モード(インタラクティブモード)が有効でない場合はplt.show()を使用し、対話モードが有効な環境ではfig.show()を使うことですべての図(フィギュア)を表示できます。

ここでは、実際のコード例を通して両者の違いを確認してみましょう。

検証の手順

  • iPythonシェルを起動します。

  • 図のサイズを設定し、サブプロット間および周囲のパディング(余白)を調整します。

  • 新しい図を作成するか、既存の図をアクティブにします。

  • plot()メソッドを使って折れ線を描画します。

  • show()メソッドで図を表示します。

  • block=Falseを指定したshow()メソッドでも図を表示してみます。

コード例

import numpy as np
from matplotlib import pyplot as plt

# 図のサイズを設定
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

# 新しい図を作成
fig = plt.figure()

# 折れ線を描画
plt.plot(np.linspace(-5, 5, 100))

fig.show()

plt.show(block=False)

実行結果

上記のコードを実行すると、次のような出力が得られます。

plt.show()はいつ必要?いつ不要?fig.show()との違いを解説

この出力が得られるのは対話モードが有効な場合のみです。対話モードが無効な通常のスクリプト実行環境では、block=True(デフォルト設定)を指定したplt.show()を呼び出すことで、図が正しく表示されます。

つまり、スクリプトとして一括実行する場合はplt.show()、Jupyter NotebookやiPythonなどの対話的な環境で個別の図を表示したい場合はfig.show()を使い分けるのがポイントです。

  1. Matplotlibで長方形の内側に円を描画する方法

    Matplotlibを使えば、長方形の内側に円を配置した図を簡単に作成できます。この記事では、patchesモジュールを利用して、長方形と円の2つの図形を1つのプロット上に重ねて描く手順を解説します。 実装の手順 長方形の内側に円を描画するには、以下のステップに従います。 figure()メソッドを使って、新しい図を作成するか、既存の図をアクティブにします。 現在の軸(Axes)にサブプロットを追加します。 Rectangle(長方形)とCircle(円)のインスタンスを作成します。 長方形のパッチを現在の軸に追加します。 円のパッチを現在の軸に追加します。 xlim()およびylim()メ

  2. Matplotlibのグラフをフルスクリーンで表示する方法

    Matplotlibで作成したグラフをフルスクリーン(全画面)で表示したい場合、full_screen_toggle()メソッドを使用すると簡単に実現できます。このメソッドは、現在開いているフィギュアウィンドウを全画面モードに切り替える機能を持ちます。 手順 figure()メソッドを使って、新しいフィギュアを作成するか、既存のフィギュアをアクティブにします。 2つのリストを渡してplot()メソッドを呼び出し、折れ線グラフを描画します。 get_current_fig_manager()メソッドで、現在のフィギュアのマネージャー(figure manager)を取得します。 取得したマネー