こんにちは、JS2IIUです。
Pandasは、Pythonでデータ分析を行うための強力なライブラリです。その中でも、.plotメソッドは、データフレームから簡単にグラフを作成できる便利な機能です。今回は、.plot.barhメソッドを使って、水平棒グラフを作成する方法を解説します。
水平棒グラフとは?
水平棒グラフは、棒グラフを90度回転させたもので、カテゴリがy軸に、数値がx軸に配置されます。横方向に伸びる棒の長さで、データの大小を比較します。
.plot.barhメソッドのシグネチャ
Python
DataFrame.plot.barh(x=None, y=None, **kwargs)パラメータ:
- x: x軸に使用する列名またはインデックス。デフォルトはNoneで、すべての数値列が使用されます。
- y: y軸に使用する列名またはインデックス。デフォルトはNoneで、データフレームのインデックスが使用されます。
- kwargs: その他のキーワード引数。Matplotlibのbarh()関数に渡されます。
kwargsでよく使うパラメータ:
- color: 棒の色を指定します。単一の色、色のリスト、またはカラーマップを指定できます。
- figsize: グラフのサイズをタプル(幅, 高さ)で指定します。
- title: グラフのタイトルを指定します。
- xlabel: x軸のラベルを指定します。
- ylabel: y軸のラベルを指定します。
- grid: Trueに設定するとグリッド線を表示します。
プログラム例
Python
import pandas as pd
import matplotlib.pyplot as plt
# サンプルデータの作成
data = {
'City': ['Tokyo', 'Osaka', 'Nagoya', 'Fukuoka'],
'Population': [13929286, 2752413, 2327118, 1612392]
}
df = pd.DataFrame(data)
# 棒グラフの作成
df.plot.barh(x='City', y='Population', figsize=(8, 6), title='Polulation Comparison')
plt.xlabel('Population')
plt.ylabel('City')
plt.show()解説:
pandasとmatplotlib.pyplotをインポートします。- サンプルデータを作成し、DataFrameに格納します。
df.plot.barh()メソッドで水平棒グラフを作成します。x='Population'でx軸に’人口’列を使用することを指定します。y='City'でy軸に’都市’列を使用することを指定します。figsize=(8, 6)でグラフのサイズを指定します。title='Population Comparison'でグラフのタイトルを指定します。
plt.xlabel()でx軸のラベルを指定します。plt.ylabel()でy軸のラベルを指定します。plt.show()でグラフを表示します。
カスタマイズ例
Python
import pandas as pd
import matplotlib.pyplot as plt
# サンプルデータの作成
data = {
'City': ['Tokyo', 'Osaka', 'Nagoya', 'Fukuoka'],
'Population': [13929286, 2752413, 2327118, 1612392]
}
df = pd.DataFrame(data)
# 水平棒グラフの作成
df.plot.barh(x='City',
y='Population',
figsize=(8, 6),
title='Population Comparison',
color=['skyblue', 'lightgreen', 'lightcoral', 'gold'], # 色を指定
grid=True # グリッド線を表示
)
plt.xlabel('Population')
plt.ylabel('City')
plt.show()解説:
color=['skyblue', 'lightgreen', 'lightcoral', 'gold']で各棒の色を指定しています。grid=Trueでグリッド線を表示しています。
このように、kwargsで様々なパラメータを指定することで、グラフをカスタマイズすることができます。
参考になるWEBサイト
次回:
次回は、.plot.boxメソッドを使って箱ひげ図を作成する方法を解説します。お楽しみに!
今回も少しだけPRです。
Pandasについて詳しく知りたいかた、もっと使いこなしたい方におすすめの本です。数年前に購入しましたが、今も手元に置いて時々見返しています。
「pandasクックブック Pythonによるデータ処理のレシピ」Theodore Petrou著、黒川利明訳。
最後まで読んでいただきありがとうございます。73

