【Matplotlib】Pandasで作成した複数のサブプロットに共通のX軸・Y軸ラベルを追加する方法
PandasのDataFrameから複数のサブプロットを作成する際、すべてのグラフでX軸ラベルとY軸ラベルを共有したいケースはよくあります。これを実現するには、plot()メソッドに対して kind="bar"、sharex=True、sharey=True を指定します。
実装手順
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- 2次元の表形式データ(DataFrame)を作成します。DataFrameはサイズ変更が可能で、異なるデータ型の列を持つことができます。
- 作成したDataFrameを
kind="bar"、sharex=True、sharey=Trueを指定してプロットします。 - 図を表示するには、show()メソッドを使用します。
コード例
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
df = pd.DataFrame(
{'First': [0.3, 0.2, 0.5, 0.2], 'Second': [0.1, 0.0, 0.3, 0.1],
'Third': [0.2, 0.5, 0.0, 0.7], 'Fourth': [0.6, 0.3, 0.4, 0.6]},
index=list('1234'))
axes = df.plot(kind="bar", subplots=True, layout=(2, 2),
sharey=True, sharex=True)
plt.show()出力結果

ポイント解説
- subplots=True:各列ごとに個別のサブプロットを生成します。
- layout=(2, 2):サブプロットを2行2列のグリッド状に配置します。
- sharex=True / sharey=True:全サブプロットでX軸・Y軸のスケールとラベルを共有し、グラフ同士の比較が容易になります。
-
Matplotlibで任意のデータを使って4Dプロットを作成する方法
Matplotlibでは、x・y・z の3つの座標データに加え、c(色) を第4の次元として割り当てることで、いわゆる「4Dプロット」を実現できます。これは実際には3D散布図にカラーマップを組み合わせたものであり、点の位置が3次元情報を、色がもう1つの変数を表現します。以下の手順に従うことで、標準正規分布に従うランダムなデータポイントを使った4Dプロットを簡単に作成できます。手順figure() メソッドを使用して、新しい図を作成するか、既存の図をアクティブ化します。サブプロット構成の一部として、3D投影(projection=3d)を指定した Axes を追加します。NumPy を使って x
-
Pandasでプロットの外側に凡例を配置する方法
Pandasで作成したグラフの凡例を、プロット領域の外側に配置したいケースはよくあります。本記事では、matplotlibのlegend()メソッドとbbox_to_anchor引数を使って、凡例を自由な位置に配置する方法を解説します。 実装の手順 Pandasでプロットの外側に凡例を配置するには、以下の手順を実行します。 「Column 1」と「Column 2」をキーとする辞書 d を作成します。 DataFrame(d) を使ってデータフレームを作成します。 スタイルのリストを指定して、データフレームをプロットします。 legend() メソッドを使って図に凡例を配置します。bbox_