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

Matplotlibで1つの図に10個以上のサブプロットを作成する方法

Matplotlibで1つの図(figure)に10個以上のサブプロットを作成したい場合は、subplots()メソッドに行数と列数を指定するだけで簡単に実現できます。この記事では、その基本的な手順とコード例をわかりやすく解説します。

サブプロット作成の手順

  • 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
  • 行数(rows)と列数(cols)を定義します。
  • plt.subplots()を使って、rows × cols 個のサブプロットを持つ図を作成します。
  • plt.show()メソッドを呼び出して、図を画面に表示します。

コード例

以下は、4行 × 3列 = 合計12個のサブプロットを持つ図を作成するサンプルコードです。

from matplotlib import pyplot as plt

# 図のサイズと自動レイアウト調整を設定
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# 行数と列数を指定
rows = 4
cols = 3

# サブプロットを作成
fig, axes = plt.subplots(nrows=rows, ncols=cols)

plt.show()

実行結果

Matplotlibで1つの図に10個以上のサブプロットを作成する方法

ポイント解説

  • nrows / ncols:それぞれサブプロットの行数・列数を指定します。10個以上でも、たとえば nrows=4, ncols=3 のように自由に組み合わせられます。
  • figsizeplt.rcParams["figure.figsize"]で図全体のサイズをインチ単位で設定できます。サブプロットが多い場合はサイズを大きくすると見やすくなります。
  • autolayoutplt.rcParams["figure.autolayout"]True にすると、ラベルやタイトルが重ならないよう余白が自動調整されます。
  • axesplt.subplots()の戻り値である axes はNumPy配列として各サブプロットにアクセスできるため、axes[0, 1].plot(...) のように個別にグラフを描画できます。

このように、subplots()メソッドを活用すれば、行数と列数を変えるだけで任意の数のサブプロットを柔軟に配置できます。データ比較やダッシュボード的な可視化にぜひ活用してください。

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

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

  2. Matplotlibで任意のデータを使って4Dプロットを作成する方法

    Matplotlibでは、x・y・z の3つの座標データに加え、c(色) を第4の次元として割り当てることで、いわゆる「4Dプロット」を実現できます。これは実際には3D散布図にカラーマップを組み合わせたものであり、点の位置が3次元情報を、色がもう1つの変数を表現します。以下の手順に従うことで、標準正規分布に従うランダムなデータポイントを使った4Dプロットを簡単に作成できます。手順figure() メソッドを使用して、新しい図を作成するか、既存の図をアクティブ化します。サブプロット構成の一部として、3D投影(projection=3d)を指定した Axes を追加します。NumPy を使って x