Pandas 带groupby的条形图

Pandas 带groupby的条形图,pandas,matplotlib,seaborn,Pandas,Matplotlib,Seaborn,我的分类变量case_satus具有四个唯一值。我有2014年至2016年的数据。我想绘制case\u status的分布图,按年份分组。我尝试使用以下方法来解决此问题: df.groupby('year').case_status.value_counts().plot.barh() 我得到了下面的图: 我想要的是一个更好的表现。例如,我每年有一种颜色,所有的“拒绝”都会挨着一个 我认为这是可以实现的,因为groupby对象是一个多索引,但我对它的理解不够,无法创建我想要的绘图 解决办法

我的分类变量
case_satus
具有四个唯一值。我有2014年至2016年的数据。我想绘制
case\u status
的分布图,按年份分组。我尝试使用以下方法来解决此问题:

df.groupby('year').case_status.value_counts().plot.barh()
我得到了下面的图:

我想要的是一个更好的表现。例如,我每年有一种颜色,所有的“拒绝”都会挨着一个

我认为这是可以实现的,因为groupby对象是一个多索引,但我对它的理解不够,无法创建我想要的绘图


解决办法是:

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

我认为您需要为
数据帧添加:

df.groupby('year').case_status.value_counts().unstack().plot.barh()
还有可能的更改级别:

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

.unstack(0)
制作了我想要的东西;)很高兴你能帮忙@耶斯雷尔有没有办法对绘图中的值进行排序?例如,在这种情况下,从下到上,您将认证、认证撤销、撤销、拒绝。谢谢有没有办法对绘图中的值进行排序?例如,在这种情况下,从下到上,您将认证、认证撤销、撤销、拒绝。谢谢