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

matplotlibオブジェクトを関数に渡すには?Axis・Axes・Figureの使い方を解説

matplotlibオブジェクトを関数に渡す方法

matplotlibでは、Figure(図全体)、Axes(個々のプロット領域)、Axis(x軸・y軸などの軸)といったオブジェクトを関数の引数として渡すことで、柔軟かつ再利用性の高いグラフ描画が可能になります。ここでは、複数のサブプロットを効率的に描画する例を通じて、その具体的な手順を解説します。

実装の手順

  • 図のサイズを設定し、サブプロット間および周囲の余白を自動調整します。
  • plot() 関数を定義し、引数として受け取った Axes オブジェクト ax に対して x・y のデータポイントをプロットします。
  • profile() 関数内で、Figure とサブプロットのセットを作成します。各 Axes を二重ループで反復処理しながら plot() 関数に渡し、すべての領域にグラフを描画します。
  • 3行×4列のグリッドを指定して profile() を呼び出します。
  • 最後に show() メソッドで図を表示します。

コード例

import numpy as np
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

def plot(ax, x, y):
    ax.plot(x, y)

def profile(rows, cols):
    fig, axes = plt.subplots(rows, cols)
    for ax in axes:
        for a in ax:
            plot(a, np.random.rand(10), np.random.rand(10))

profile(3, 4)
plt.show()

実行結果

このコードを実行すると、3行4列の計12個のサブプロットそれぞれに、ランダムなデータから生成された折れ線グラフが描画されます。このように、Axesオブジェクトを関数に渡す設計にすることで、描画ロジックを共通化でき、コードの保守性と可読性が大きく向上します。

matplotlibオブジェクトを関数に渡すには?Axis・Axes・Figureの使い方を解説matplotlibオブジェクトを関数に渡すには?Axis・Axes・Figureの使い方を解説

  1. Matplotlibで複数のX軸・Y軸をプロットする方法(twinx / twinyの使い方)

    データ分析や可視化では、スケールの異なる2つのデータ系列を同じグラフ上に重ねて表示したいケースがよくあります。Matplotlibでは、twinx() メソッドや twiny() メソッドを使うことで、X軸またはY軸を共有しながら独立したもう一方の軸を持つグラフを簡単に作成できます。 この記事では、左右に異なるY軸を持つグラフを作成する手順を、具体的なコード例とともに解説します。 複数のY軸を持つグラフの作成手順 以下の手順で、左と右に別々のY軸スケールを持つプロットを作成できます。 subplots() メソッドを使用して、図(figure)とサブプロット(axes)を作成します。 最初の

  2. MatplotlibでグラフのX軸とY軸を入れ替える方法

    Matplotlibでグラフの軸(X軸とY軸)を入れ替えたい場合、subplots()メソッドを使って図(figure)を作成し、2つのサブプロットを追加する方法が便利です。1つ目のサブプロットに曲線を描画し、そのX・Yデータを抽出して、2つ目のサブプロットの曲線に設定し直すことで、軸を入れ替えたグラフを作成できます。 手順 NumPyを使って、xとyのデータポイントを作成します。 図を作成し、2つのサブプロットを追加します。 両方のサブプロットにタイトルを設定します。 plot()メソッドを使って、xとyのデータポイントをプロットします。 get_xdata()とget_ydata()を使