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

【Matplotlib】Pandasで作成した複数のサブプロットに共通のX軸・Y軸ラベルを追加する方法

PandasのDataFrameから複数のサブプロットを作成する際、すべてのグラフでX軸ラベルY軸ラベルを共有したいケースはよくあります。これを実現するには、plot()メソッドに対して kind="bar"sharex=Truesharey=True を指定します。

実装手順

  • 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
  • 2次元の表形式データ(DataFrame)を作成します。DataFrameはサイズ変更が可能で、異なるデータ型の列を持つことができます。
  • 作成したDataFrameを kind="bar"sharex=Truesharey=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()

出力結果

【Matplotlib】Pandasで作成した複数のサブプロットに共通のX軸・Y軸ラベルを追加する方法

ポイント解説

  • subplots=True:各列ごとに個別のサブプロットを生成します。
  • layout=(2, 2):サブプロットを2行2列のグリッド状に配置します。
  • sharex=True / sharey=True:全サブプロットでX軸・Y軸のスケールとラベルを共有し、グラフ同士の比較が容易になります。

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

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

  2. Pandasでプロットの外側に凡例を配置する方法

    Pandasで作成したグラフの凡例を、プロット領域の外側に配置したいケースはよくあります。本記事では、matplotlibのlegend()メソッドとbbox_to_anchor引数を使って、凡例を自由な位置に配置する方法を解説します。 実装の手順 Pandasでプロットの外側に凡例を配置するには、以下の手順を実行します。 「Column 1」と「Column 2」をキーとする辞書 d を作成します。 DataFrame(d) を使ってデータフレームを作成します。 スタイルのリストを指定して、データフレームをプロットします。 legend() メソッドを使って図に凡例を配置します。bbox_