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

使用xlsxwriter创建堆积柱状图未获预期输出问题求助

堆积柱状图实现方案

数据表示例

原有代码存在三处核心问题:

  • 系列参数引用的单元格范围完全错位,categories、values、name三个参数没有对应到正确的「Month/Year」「Count」「Name」字段
  • 语法存在错误,部分语句末尾多了多余的右括号,工作表名拼写多了空格
  • 两个系列填充色设置为同色,无法区分类别,也没有明确声明图表类型为堆积柱形图

以下是调整后的可运行代码(基于XlsxWriter库):

# 第一步:声明堆积柱形图类型,漏写该步骤会无法得到预期效果
chart1 = workbook.add_chart({'type': 'column', 'subtype': 'stacked'})

# 添加Adam对应的数据系列
chart1.add_series({
    'name': '=Sheet1!$C$2',
    'categories': '=Sheet1!$B$2:$B$3',
    'values': '=Sheet1!$D$2',
    'fill': {'color': 'orange'}
})

# 添加Milne对应的数据系列
chart1.add_series({
    'name': '=Sheet1!$C$3',
    'categories': '=Sheet1!$B$2:$B$3',
    'values': '=Sheet1!$D$3',
    'fill': {'color': 'blue'}
})

# 可选配置:添加坐标轴名称,优化展示效果
chart1.set_x_axis({'name': 'Month/Year'})
chart1.set_y_axis({'name': 'Count'})

# 最后将图表插入到工作表指定位置即可
worksheet.insert_chart('F2', chart1)

调整后的逻辑说明:

  • 两个系列的name参数分别对应Name列的两个名字,生成的图例就会自动显示Adam、Milne两个分类
  • categories统一引用Month/Year列的内容,x轴会正常显示Sep-2021
  • values分别引用两个人对应的Count值,堆积柱形的两个分段就会分别显示6和3
  • 两个系列设置不同填充色,区分类别更直观

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:57:02