サイトアイコン アマチュア無線局JS2IIU

【Pandas】.plot.barhで水平棒グラフを作成する

こんにちは、JS2IIUです。
Pandasは、Pythonでデータ分析を行うための強力なライブラリです。その中でも、.plotメソッドは、データフレームから簡単にグラフを作成できる便利な機能です。今回は、.plot.barhメソッドを使って、水平棒グラフを作成する方法を解説します。

水平棒グラフとは?

水平棒グラフは、棒グラフを90度回転させたもので、カテゴリがy軸に、数値がx軸に配置されます。横方向に伸びる棒の長さで、データの大小を比較します。

.plot.barhメソッドのシグネチャ

Python
DataFrame.plot.barh(x=None, y=None, **kwargs)

パラメータ:

kwargsでよく使うパラメータ:

プログラム例

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()

解説:

  1. pandasmatplotlib.pyplotをインポートします。
  2. サンプルデータを作成し、DataFrameに格納します。
  3. df.plot.barh()メソッドで水平棒グラフを作成します。
    • x='Population'でx軸に’人口’列を使用することを指定します。
    • y='City'でy軸に’都市’列を使用することを指定します。
    • figsize=(8, 6)でグラフのサイズを指定します。
    • title='Population Comparison'でグラフのタイトルを指定します。
  4. plt.xlabel()でx軸のラベルを指定します。
  5. plt.ylabel()でy軸のラベルを指定します。
  6. 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()

解説:

このように、kwargsで様々なパラメータを指定することで、グラフをカスタマイズすることができます。

参考になるWEBサイト

次回:

次回は、.plot.boxメソッドを使って箱ひげ図を作成する方法を解説します。お楽しみに!

今回も少しだけPRです。

Pandasについて詳しく知りたいかた、もっと使いこなしたい方におすすめの本です。数年前に購入しましたが、今も手元に置いて時々見返しています。

「pandasクックブック Pythonによるデータ処理のレシピ」Theodore Petrou著、黒川利明訳。

最後まで読んでいただきありがとうございます。73

モバイルバージョンを終了