Python Pandasで積み上げ横棒グラフをプロットする方法
PythonのPandasとMatplotlibを組み合わせることで、データを視覚的に分かりやすく表現できます。本記事では、複数のデータ系列を1本のバーに重ねて表示できる「積み上げ横棒グラフ」の作成方法を解説します。
積み上げ横棒グラフの基本
積み上げ横棒グラフを作成するには、barh()メソッドを使用し、パラメータ「stacked」をTrueに設定します。これにより、各カテゴリーの値が横方向に積み重ねられて描画されます。
stacked = True
実装手順
1. 必要なライブラリをインポートする
まず、データ操作用のPandasと、グラフ描画用のMatplotlibをインポートします。
import pandas as pd import matplotlib.pyplot as plt
2. DataFrameを作成する
次に、「Car(車名)」「Cubic_Capacity(排気量)」「Reg_Price(登録価格)」の3列を持つDataFrameを作成します。
dataFrame = pd.DataFrame({
"Car": ['Bentley', 'Lexus', 'BMW', 'Mustang', 'Mercedes', 'Jaguar'],
"Cubic_Capacity": [2000, 1800, 1500, 2500, 2200, 3000],
"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000],
})
3. 積み上げ横棒グラフをプロットする
plot.barh()メソッドにstacked=Trueを指定して、すべての列を積み上げた横棒グラフを描画します。titleでグラフのタイトルを、colorで各系列の色を指定することも可能です。
dataFrame.plot.barh(stacked=True, title='Car Specifications', color=("orange", "cyan"))
完全なサンプルコード
以下に、ここまでの手順をまとめた完全なコードを示します。
import pandas as pd
import matplotlib.pyplot as plt
# DataFrameの作成
dataFrame = pd.DataFrame({
"Car": ['Bentley', 'Lexus', 'BMW', 'Mustang', 'Mercedes', 'Jaguar'],
"Cubic_Capacity": [2000, 1800, 1500, 2500, 2200, 3000],
"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000],
})
# すべての列を使って積み上げ横棒グラフをプロット
dataFrame.plot.barh(stacked=True, title='Car Specifications', color=("orange", "cyan"))
# グラフを表示
plt.show()
実行結果
このコードを実行すると、車種ごとに排気量と登録価格が積み上げられた横棒グラフが表示されます。オレンジ色が排気量(Cubic_Capacity)、シアン色が登録価格(Reg_Price)に対応しており、各車種の合計値を一目で比較できます。

まとめ
Pandasのplot.barh()メソッドにstacked=Trueを渡すだけで、簡単に積み上げ横棒グラフを作成できます。複数の数値列を持つDataFrameを可視化したい場合に非常に便利な手法なので、ぜひ活用してみてください。
-
Python Pandasでスタックイベントの期間をプロットする方法
PythonのPandasライブラリを使って、複数のイベント期間(開始日から終了日まで)をスタック状に可視化する方法を紹介します。イベントの継続期間を横棒(水平線)として時系列上に描画することで、各イベントがいつ始まり、いつ終わったのかをひと目で把握できます。実装の手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。各イベントの開始日 xmin と終了日 xmax のリストからデータフレームを作成します。hlines() メソッドを使って、イベント期間を水平線としてプロットします。最後に show() メソッドで図を表示します。ポイントMatplotlibの hl
-
Pythonのmatplotlibで積み上げ棒グラフを作成・表示する方法
Matplotlibは、Pythonで最も広く使われているデータ可視化ライブラリの一つです。データの可視化は、数値を一つずつ確認したり複雑な計算を行ったりすることなく、データ全体の傾向や特徴を直感的に把握するために欠かせないステップです。また、定量的な洞察を効果的に伝える手段としても非常に有用です。 Matplotlibは、データをもとに2次元のグラフやプロットを作成するために使用されます。オブジェクト指向のAPIを備えており、作成したグラフをPythonアプリケーションに組み込むことも可能です。IPythonシェル、Jupyter Notebook、Spyder IDEなど、さまざまな環境で