如何基于Plotly现有代码实现百分比堆叠条形图
百分比堆叠条形图调整方法
直接在原有px.bar代码中新增barnorm参数即可,无需提前手动计算各字段占比,修改后代码如下:
fig = px.bar( df, x='date', y=['var1','var2','var3', 'var4'], barmode='stack', barnorm='percent' ) fig.show()
参数说明
barnorm='percent':会自动对每个x轴(即date字段)分类下的所有y值做归一化处理,每个日期对应的堆叠条总高度固定为100%,各分段高度对应该变量在当日总数值中的占比- 如果需要输出0-1区间的小数占比而非百分比数值,将参数值替换为
barnorm='fraction'即可
可选优化
如果需要统一y轴刻度、悬浮提示的百分比显示格式,可以补充布局调整代码:
# 若使用barnorm='fraction'时,可通过这行代码自动将小数转为百分比格式显示 fig.update_layout(yaxis_tickformat='.0%')
调整后生成的图表每个条形高度一致,各颜色段代表对应变量在当日的构成占比,符合百分比堆叠条形图的展示需求。
内容的提问来源于stack exchange,提问作者titutubs
相关产品推荐
相关产品推荐

