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

如何在Plotly中绘制单根百分比堆叠柱状图展示各类疫苗占总体比例

Plotly 单根堆叠柱状图实现方案

你现有代码将疫苗类型索引作为y轴参数传入,因此每类疫苗会对应独立的y轴分类,最终生成多根独立柱子。要实现所有疫苗数据整合到同一根堆叠柱,可参考以下修改后的代码:

横向堆叠柱(和你原有展示方向一致)

import plotly.express as px

# 新增固定值字段作为统一y轴分类,让所有疫苗数据对应同一根柱子
dose1_perc['categoria'] = '第一剂疫苗占比'

grafico_dose1 = px.bar(
    dose1_perc,
    x="percentual (%)",
    y="categoria",
    color=dose1_perc.index,
    orientation='h'
)
# 开启堆叠模式
grafico_dose1.update_layout(barmode='stack')
# 可选配置:在堆叠区域内部显示百分比数值
grafico_dose1.update_traces(texttemplate='%{x:.1f}%', textposition='inside')

grafico_dose1.show()

纵向堆叠柱(可选效果)

如果需要纵向展示单根堆叠柱,调整参数映射即可:

import plotly.express as px

dose1_perc['categoria'] = '第一剂疫苗占比'

grafico_dose1 = px.bar(
    dose1_perc,
    x="categoria",
    y="percentual (%)",
    color=dose1_perc.index
)
grafico_dose1.update_layout(barmode='stack')
grafico_dose1.update_traces(texttemplate='%{y:.1f}%', textposition='inside')

grafico_dose1.show()

核心调整说明

  • 新增固定值的分类字段,保证所有疫苗数据归属到同一个坐标轴分类下,才会渲染到同一根柱子上
  • 显式指定barmode='stack'开启堆叠模式,避免Plotly默认渲染为分组柱状图

内容的提问来源于stack exchange,提问作者Lucas Thaynan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 23:57:05