问题描述
我有一个带有列(例如“Col”)的数据框,其中的值来自此列表 ['PO101','NI101','NE101']。
计数为:
- PO101 = 30000
- NI101 = 5000
- NE101 = 3000
我试图在堆积条形图上显示有多少个。
我使用以下代码创建了堆积图:
df.assign(dummy=1).groupby(['dummy','Col']).size().to_frame().unstack().plot(
kind='bar',stacked=True,legend=True)
所以我把上面的图例设为False,并使用下面的方式来生成新的图例。
current_handles,_ = plt.gca().get_legend_handles_labels()
reversed_handles = reversed(current_handles)
labels = reversed(df['Col'].unique())
plt.legend(reversed_handles,labels,loc='lower right')
这生成了具有正确名称的图例,但是,它没有向我显示正确的颜色代码,如下所示:
绿色(图表中最大的部分)应该是 PO101,而是显示为 NI101。
谁能解释一下为什么?
我认为生成图表所遵循的顺序和列出唯一值的顺序可能不同。
感谢这里的一些指导。
编辑: 附上图表输出的截图供您参考。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)