You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 17:18:24