Pandasの棒グラフ
公開日 2024-08-18
PandasのSeries, DataFrameで縦向きの棒グラフをプロットする方法は、以下の2つがあります。
plot()メソッドにkind='bar'オプションを渡す。plot.bar()メソッドを使う(メソッドチェーン)。
両者にほぼ違いはありません。この記事では後者を使用します。
なお、横向きの棒グラフをプロットする場合、以下2つの方法があります(横棒グラフの項を参照)。
plot()メソッドにkind='barh'オプションを渡す。plot.barh()メソッドを使う(メソッドチェーン)。
簡単な例¶
まず、pandas.Seriesで棒グラフをプロットする簡単な例を以下に示します。indexに指定した変数が横軸になります。
import pandas as pd
sr = pd.Series([1, 3, 2], index=["spam", "ham", "egg"])
sr.plot.bar()<Axes: >
次に、pandas.DataFrameの簡単な例を以下に示します。indexに指定した変数が横軸になり、columnsが異なる色の棒(系列)になります。
df = pd.DataFrame(
[[1, 2], [3, 5], [2, 4]],
index=["spam", "ham", "egg"],
columns=["Alice", "Bob"]
)
display(df)
df.plot.bar()Loading...
<Axes: >
plot(), plot.bar(), plot.barh()の各メソッドのオプションについては、Pandas グラフ作成の共通設定を参照して下さい。
積み上げ棒グラフ¶
積み上げ棒グラフとする場合、stacked=Trueオプションを渡します。
df.plot.bar(stacked=True)<Axes: >
棒の太さ・色を変更する¶
棒の太さはwidthオプションで指定できます。1が最大(隙間なし)、0が最小となります。また、色はcolorオプションで指定できます。
df.plot.bar(width=0.5, color={"Alice": "green", "Bob": "black"})<Axes: >
df.plot.bar(edgecolor="black", linewidth=5)<Axes: >
横棒グラフ¶
横棒グラフを出力するには、plot(kind='barh')メソッドまたはplot.barh()メソッドを使用します。
df.plot.barh()<Axes: >