【Python】Matplotlibのプロットの横にPandasデータフレームを表示する方法
データ分析を行う際、グラフ(プロット)とその元となるデータフレームを並べて確認できると、視覚的な把握が格段にしやすくなります。この記事では、MatplotlibとPandasを組み合わせて、散布図の横にデータフレームを表形式で表示する方法を解説します。
実装の手順
プロットの横にデータフレームを表示するには、以下の手順に従います。
plt.rcParamsで図のサイズを設定し、サブプロット間・周囲のパディングを自動調整します。- 「Straight」と「Square」の2つの列を持つPandasデータフレームを作成します。
figure()メソッドで新しい図を作成(または既存の図をアクティブ化)します。add_subplot(121)で、1行2列レイアウトの左側(index=1)にサブプロットを追加します。scatter()メソッドを使ってデータフレームの値を散布図として描画します。add_subplot(122)で、右側(index=2)にもうひとつのサブプロットを追加します。- 表を作成するための変数
font_sizeやbboxを初期化します。 axis('off')で右側サブプロットの軸を非表示にします。table()メソッドを使って、現在の軸にデータフレームの内容を表として追加します。show()メソッドで図を表示します。
コード例
import matplotlib.pyplot as plt
import pandas as pd
# 図のサイズとレイアウトの自動調整を設定
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
# データフレームを作成(0〜9の整数とその2乗)
df = pd.DataFrame({'Straight': [i for i in range(10)],
'Square': [i * i for i in range(10)]})
fig = plt.figure()
# 左側:散布図を描画
ax1 = fig.add_subplot(121)
ax1.scatter(x=df.Straight, y=df.Square)
# 右側:データフレームを表として表示
ax2 = fig.add_subplot(122)
font_size = 14
bbox = [0, 0, 1, 1]
ax2.axis('off')
mpl_table = ax2.table(cellText=df.values,
rowLabels=df.index,
bbox=bbox,
colLabels=df.columns)
plt.show()
実行結果
上記のコードを実行すると、左側に「Straight(0〜9の整数)」と「Square(その2乗)」の関係を示す散布図が描画され、右側には同じデータフレームの内容が行ラベル・列見出し付きの表として表示されます。これにより、グラフの形状と実際の数値を一目で照らし合わせながら確認できます。
ポイント解説
- add_subplot(121):引数は「1行×2列のレイアウトのうち1番目」を意味します。
(1, 2, 1)のようにカンマ区切りで指定しても同じです。 - axis('off'):表を表示する領域では座標軸が不要なため、オフにすることでスッキリした見た目になります。
- table()のbbox引数:
[0, 0, 1, 1]を指定すると、表がサブプロット領域いっぱいに広がり、見やすい大きさになります。
この手法は、探索的データ分析(EDA)の際にレポートやノートブックへ貼り付ける図を作る場合など、データと可視化結果をセットで提示したい場面で非常に便利です。ぜひ活用してみてください。
-
Matplotlibで3D連続線をプロットする方法
Matplotlibを使って3次元空間に連続的な線(3Dライン)を描画する方法を解説します。基本的な手順は以下の通りです。3Dプロットの手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。NumPyを使用して x と y のデータポイントを作成します。xとyのデータポイントから z のデータポイントを計算して作成します。figure() メソッドを使って、新しい図を作成するか既存の図をアクティブにします。add_subplot() メソッドに3D投影(projection=3d)を指定して、Axesを追加します。plot() メソッドを使って、x、y、zのデータポ
-
【Python】Matplotlibのプロットの横にPandasデータフレームを表示する方法
データ分析を行う際、グラフ(プロット)とその元となるデータフレームを並べて確認できると、視覚的な把握が格段にしやすくなります。この記事では、MatplotlibとPandasを組み合わせて、散布図の横にデータフレームを表形式で表示する方法を解説します。 実装の手順 プロットの横にデータフレームを表示するには、以下の手順に従います。 plt.rcParamsで図のサイズを設定し、サブプロット間・周囲のパディングを自動調整します。 「Straight」と「Square」の2つの列を持つPandasデータフレームを作成します。 figure()メソッドで新しい図を作成(または既存の図をアクティブ