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

PandasのDataFrame.plotをMatplotlibのサブプロットに表示する方法

PandasのデータフレームをMatplotlibのサブプロットに描画したい場合、plot()メソッドにax引数を渡すだけで簡単に実現できます。ここでは、2つのサブプロットに同じデータフレームのグラフを配置する基本的な手順を紹介します。

手順

  • 図のサイズを設定し、figure.autolayoutでサブプロット間・周囲の余白を自動調整します。
  • plt.subplots()を使って、図(Figure)と2つのサブプロット(Axes)を作成します。
  • pd.DataFrame()でPandasのデータフレームを作成します。
  • DataFrame.plot()メソッドにax=ax1ax=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のDataFrame.plotをMatplotlibのサブプロットに表示する方法

  1. PandasとMatplotlibで複数の時系列DataFrameを1つのグラフにまとめて描画する方法

    Pandasを使えば、複数の時系列データフレーム(DataFrame)を1つのプロットにまとめて描画できます。本記事では、ルピーとドルという2つの異なるスケールの時系列データを、左右のY軸を使い分けながら1つのグラフ上に表示する具体的手順を、サンプルコードとともに解説します。 実装の流れ 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整する 時系列データを含むPandasデータフレームを作成する プロット用に日付をインデックスとして設定する 「rupees(ルピー)」と「dollar(ドル)」の2つの系列を同じ図上にプロットする show()メソッドを呼び出して図を表

  2. 【Matplotlib】すべての目盛り(xticks)を表示してPandasのマルチインデックスDataFrameをプロットする方法

    PandasのマルチインデックスDataFrameを、すべてのxticks(目盛り)を表示した状態でプロットするには、以下の手順に従います。図のサイズを設定し、サブプロット間および周囲のパディングを調整します。1000件のサンプルデータからインデックス値を作成します。軸ラベルを持つ1次元のndarrayを作成します。シリーズの平均値を取得します。gデータフレームをプロットします。現在の軸に対して目盛り(ticks)と目盛りラベル(ticklabels)を設定します。図を表示するには、show()メソッドを使用します。サンプルコードimport numpy as np import matplo