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

如何在Plotly Express柱状图中同时显示数值计数与百分比

Plotly Express 柱状图同时显示计数与百分比

要实现柱状图同时显示分类的数值计数和对应百分比,只需在数据处理阶段生成包含两者的组合文本列,再传递给Plotly的text参数即可,具体步骤如下:

完整代码实现

# 统计分类数据的计数并重置索引
df1 = df['Category'].value_counts().reset_index(name='Total')
# 计算百分比(保留1位小数)
df1['Percentage'] = round((df1['Total'] / df1['Total'].sum()) * 100, 1)
# 生成包含计数和百分比的组合文本
df1['Combined_Text'] = df1.apply(lambda row: f"{row['Total']} ({row['Percentage']}%)", axis=1)

# 绘制柱状图
fig = px.bar(df1, 
             x='index',
             y='Total',  # 修正原代码中y轴参数错误,对应统计后的计数列
             text_auto=False,
             text=df1['Combined_Text'])
# 设置文本样式
fig.update_traces(textfont_size=12, textangle=0, cliponaxis=False, textposition="outside")
fig.show()

关键说明

  • 修正原代码中y='values'的错误,需使用统计生成的Total列作为y轴数据
  • 通过apply方法生成Combined_Text列,将计数和百分比拼接为类似「120 (30.0%)」的格式
  • 关闭text_auto,手动指定text参数为组合文本列,确保同时展示两种信息

效果说明

最终生成的柱状图会在每个柱子外侧,同时显示该分类的具体计数数值和对应的占比百分比,满足示例图的展示需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 10:15:38