如何为按性别分层的百分比数据创建堆叠柱状图?
要实现堆叠式柱状图展示各年龄段在男女分组内的占比,你需要先把数据转换成宽格式(行是性别,列是各年龄段,值为对应百分比),再调用绘图方法时开启堆叠参数。
具体代码如下:
首先重塑数据结构:
# 将数据转为宽格式,按Gender分组,Age为列,Percentage为值 df_stacked = df_test.pivot(index='Gender', columns='Age', values='Percentage')
然后绘制堆叠柱状图:
# 绘制堆叠柱状图,stacked=True开启堆叠 df_stacked.plot(kind='bar', stacked=True, rot=45)
也可以把两步合并成一行:
df_test.pivot(index='Gender', columns='Age', values='Percentage').plot(kind='bar', stacked=True, rot=45)
这样生成的图里,每个性别对应的柱子会被拆分成不同颜色的段,每一段代表该性别下对应年龄段的百分比,堆叠后整体就是该性别的总占比。另外注意你的数据里Female的年龄组有个笔误'35-444',如果是输入错误建议修正,避免图表里出现异常的标签。
内容的提问来源于stack exchange,提问作者gabboshow
相关产品推荐
相关产品推荐

