PandasのDataFrame.plotをMatplotlibのサブプロットに表示する方法
PandasのデータフレームをMatplotlibのサブプロットに描画したい場合、plot()メソッドにax引数を渡すだけで簡単に実現できます。ここでは、2つのサブプロットに同じデータフレームのグラフを配置する基本的な手順を紹介します。
手順
- 図のサイズを設定し、
figure.autolayoutでサブプロット間・周囲の余白を自動調整します。 plt.subplots()を使って、図(Figure)と2つのサブプロット(Axes)を作成します。pd.DataFrame()でPandasのデータフレームを作成します。DataFrame.plot()メソッドにax=ax1やax=ax2を指定してプロット先を割り当てます。plt.show()メソッドで図を表示します。
コード例
import pandas as pd
import matplotlib.pyplot as plt
# 図のサイズとレイアウトの設定
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
# 2つのサブプロットを持つ図を作成
fig, (ax1, ax2) = plt.subplots(2)
# データフレームの作成
df = pd.DataFrame(dict(name=["Joe", "James", "Jack"], age=[23, 34, 26]))
# 各サブプロットにグラフを描画
df.set_index("name").plot(ax=ax1)
df.set_index("name").plot(ax=ax2)
plt.show()
ポイント: set_index("name")によって「name」列がインデックスとして扱われ、X軸ラベルとして表示されます。ax引数に任意のAxesオブジェクトを指定することで、複数のサブプロットへの柔軟な配置が可能になります。この手法は、異なるデータセットを並べて比較したり、ダッシュボード風のレイアウトを作成したりする際にも活用できます。
実行結果

-
PandasとMatplotlibで複数の時系列DataFrameを1つのグラフにまとめて描画する方法
Pandasを使えば、複数の時系列データフレーム(DataFrame)を1つのプロットにまとめて描画できます。本記事では、ルピーとドルという2つの異なるスケールの時系列データを、左右のY軸を使い分けながら1つのグラフ上に表示する具体的手順を、サンプルコードとともに解説します。 実装の流れ 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整する 時系列データを含むPandasデータフレームを作成する プロット用に日付をインデックスとして設定する 「rupees(ルピー)」と「dollar(ドル)」の2つの系列を同じ図上にプロットする show()メソッドを呼び出して図を表
-
【Matplotlib】すべての目盛り(xticks)を表示してPandasのマルチインデックスDataFrameをプロットする方法
PandasのマルチインデックスDataFrameを、すべてのxticks(目盛り)を表示した状態でプロットするには、以下の手順に従います。図のサイズを設定し、サブプロット間および周囲のパディングを調整します。1000件のサンプルデータからインデックス値を作成します。軸ラベルを持つ1次元のndarrayを作成します。シリーズの平均値を取得します。gデータフレームをプロットします。現在の軸に対して目盛り(ticks)と目盛りラベル(ticklabels)を設定します。図を表示するには、show()メソッドを使用します。サンプルコードimport numpy as np import matplo