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

Plotly Python分组柱状图问题:实现S1/S2/S3差异化分组显示

解决Plotly Python分组柱状图显示问题

你当前得到堆叠柱状图,大概率是因为设置了barmode='stack'(或默认行为导致堆叠),同时数据结构可能没适配分组需求。要实现S1、S2、S3作为独立分组,每个分组内展示API1、API2、API3的并排柱状图,按以下步骤操作:

步骤1:整理数据格式

Plotly更适合处理长格式数据(每一行对应一个分组-API的数值组合),你可以把原表格转成这种格式:

import pandas as pd

# 原数据转长格式
wide_data = {
    'API1': [41, 40, 15],
    'API2': [56, 50, 24],
    'API3': [48, 45, 8]
}
df = pd.DataFrame(wide_data, index=['s1', 's2', 's3']).reset_index()
df = df.melt(id_vars='index', var_name='API', value_name='Value').rename(columns={'index': 'Group'})

转换后的数据结构如下:

GroupAPIValue
s1API141
s2API140
s3API115
s1API256
s2API250
s3API224
s1API348
s2API345
s3API38

步骤2:绘制分组柱状图

用Plotly Express直接绘制,核心是设置barmode='group'实现并排分组:

import plotly.express as px

fig = px.bar(df, x='Group', y='Value', color='API', barmode='group')
# 自定义图表样式(可选)
fig.update_layout(
    title='各分组API性能对比',
    xaxis_title='分组',
    yaxis_title='数值',
    legend_title='API类型'
)
fig.show()

关键说明

  • barmode='group':强制柱子以分组并排的方式显示,替换默认或之前设置的stack模式
  • color='API':用不同颜色区分三个API,让每个分组内的柱子差异化显示
  • 长格式数据:确保Plotly能正确识别分组(x轴)和分类(color)的对应关系

内容的提问来源于stack exchange,提问作者Luisa Fernanda Velasquez Camac

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 05:45:35