Pythonの関数で図(Figure)を返す方法【Matplotlib活用】
PythonでMatplotlibを使って、関数から図(Figureオブジェクト)を返す方法を解説します。グラフ描画処理を関数化することで、コードの再利用性が高まり、複数のグラフを効率的に扱えるようになります。
実装の手順
- figureサイズを設定し、サブプロット間および周囲のパディングを調整します。
- numpyを使用してxとyのデータポイントを作成します。
- 新しい図を作成、または既存の図をアクティブにするfigure()メソッドを使った関数plot(x, y)を定義します。
- plot()メソッドでxとyのデータポイントを描画し、figインスタンスを返します。
- plot(x, y)関数を呼び出し、戻り値のFigureインスタンスを変数fに格納します。
- 図を表示するにはshow()メソッドを使用します。
サンプルコード
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
def plot(x, y):
fig = plt.figure()
plt.plot(x, y)
return fig
x = np.linspace(-10, 10, 100)
y = np.sin(x)
f = plot(x, y)
plt.show()実行結果

ポイント解説
このアプローチの重要な点は、plot()関数内でplt.figure()によって生成したFigureインスタンスをそのままreturnしていることです。これにより、呼び出し元で図オブジェクトを受け取り、後からタイトルの追加や軸ラベルの設定など、柔軟にカスタマイズすることが可能になります。
また、np.linspace(-10, 10, 100)は-10から10までの範囲を100等分した配列を生成し、それに対してnp.sin(x)で正弦波のデータを作成しています。このようにデータ生成と描画処理を分離することで、任意のデータに対して同じ関数を再利用できるのがメリットです。
-
Matplotlibでキーボード入力を使ってPythonの図(Figure)を閉じる方法
Pythonで表示したMatplotlibの図をキーボード入力で閉じたい場合、plt.pause()メソッドとinput()関数、そしてclose()メソッドを組み合わせることで実現できます。この方法を使えば、ユーザーがEnterキーを押すまで図を表示し続け、任意のタイミングで確実に閉じることが可能です。手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。numpyを使ってtとyのデータポイントを作成します。figure()メソッドで新しい図を作成するか、既存の図をアクティブにします。plot()メソッドでtとyのデータポイントをプロットします。プロットにタイトル
-
Python Matplotlibで3Dグラフをプロットする方法を解説
PythonのMatplotlibを使えば、3次元の散布図やグラフを簡単に描画できます。この記事では、mpl_toolkits.mplot3dモジュールを利用して3Dグラフを作成する手順を、サンプルコード付きでわかりやすく解説します。 3Dグラフをプロットする基本手順 Pythonで3Dグラフを描くには、以下のステップに従います。 figure()メソッドを使って、新しい図(フィギュア)を作成するか、既存の図をアクティブにします。 Axes3Dオブジェクトを取得して、3D用の座標軸を準備します。 x、y、zそれぞれのデータポイントをリストとして定義します。 scatter3D()メソッドを使