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

Pythonの関数で図(Figure)を返す方法【Matplotlib活用】

PythonでMatplotlibを使って、関数から図(Figureオブジェクト)を返す方法を解説します。グラフ描画処理を関数化することで、コードの再利用性が高まり、複数のグラフを効率的に扱えるようになります。

実装の手順

  • figureサイズを設定し、サブプロット間および周囲のパディングを調整します。
  • numpyを使用してxyのデータポイントを作成します。
  • 新しい図を作成、または既存の図をアクティブにする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()

実行結果

Pythonの関数で図(Figure)を返す方法【Matplotlib活用】

ポイント解説

このアプローチの重要な点は、plot()関数内でplt.figure()によって生成したFigureインスタンスをそのままreturnしていることです。これにより、呼び出し元で図オブジェクトを受け取り、後からタイトルの追加や軸ラベルの設定など、柔軟にカスタマイズすることが可能になります。

また、np.linspace(-10, 10, 100)は-10から10までの範囲を100等分した配列を生成し、それに対してnp.sin(x)で正弦波のデータを作成しています。このようにデータ生成と描画処理を分離することで、任意のデータに対して同じ関数を再利用できるのがメリットです。

  1. Matplotlibでキーボード入力を使ってPythonの図(Figure)を閉じる方法

    Pythonで表示したMatplotlibの図をキーボード入力で閉じたい場合、plt.pause()メソッドとinput()関数、そしてclose()メソッドを組み合わせることで実現できます。この方法を使えば、ユーザーがEnterキーを押すまで図を表示し続け、任意のタイミングで確実に閉じることが可能です。手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。numpyを使ってtとyのデータポイントを作成します。figure()メソッドで新しい図を作成するか、既存の図をアクティブにします。plot()メソッドでtとyのデータポイントをプロットします。プロットにタイトル

  2. Python Matplotlibで3Dグラフをプロットする方法を解説

    PythonのMatplotlibを使えば、3次元の散布図やグラフを簡単に描画できます。この記事では、mpl_toolkits.mplot3dモジュールを利用して3Dグラフを作成する手順を、サンプルコード付きでわかりやすく解説します。 3Dグラフをプロットする基本手順 Pythonで3Dグラフを描くには、以下のステップに従います。 figure()メソッドを使って、新しい図(フィギュア)を作成するか、既存の図をアクティブにします。 Axes3Dオブジェクトを取得して、3D用の座標軸を準備します。 x、y、zそれぞれのデータポイントをリストとして定義します。 scatter3D()メソッドを使