web-dev-qa-db-ja.com

groupbyを使用した棒グラフ

カテゴリ変数case_satusは、4つの一意の値を取ります。 2014年から2016年までのデータがあります。case_statusの分布を年ごとにグループ化します。私はこれを使用して:

df.groupby('year').case_status.value_counts().plot.barh()

そして、私は次のプロットを取得します:

output

私が欲しいのは、より良い表現です。たとえば、年ごとに1つの色があり、すべての「拒否」が隣り合っている場合。

Groupbyオブジェクトはマルチインデックスなので達成できると思いますが、必要なプロットを作成するのに十分なほど理解していません。


解決策は次のとおりです。

df.groupby('year').case_status.value_counts().unstack(0).plot.barh()

そして結果

enter image description here

10
jacob

追加する必要があると思う unstack for DataFrame

df.groupby('year').case_status.value_counts().unstack().plot.barh()

可能な変更レベルもあります:

df.groupby('year').case_status.value_counts().unstack(0).plot.barh()
11
jezrael