使用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-2021values分别引用两个人对应的Count值,堆积柱形的两个分段就会分别显示6和3- 两个系列设置不同填充色,区分类别更直观
内容的提问来源于stack exchange,提问作者Sriram
相关产品推荐
相关产品推荐

