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

如何使用XlsxWriter去除Excel图表中的Serie1图例以节省空间?

移除XlsxWriter生成图表的Serie1图例,节省水平空间

要移除XlsxWriter生成图表中的默认Serie1图例,只需调用图表对象的set_legend()方法并设置图例不可见即可。这个方法可以直接隐藏所有图例,完美解决节省水平空间的需求,且能批量应用到所有图表上。

修改后的代码示例

df.to_excel(writer, sheet_name='Year_sheet', startrow=1, header=False, index=False)
workbook = writer.book
worksheet1 = writer.sheets['Year_sheet']

chart_weight = workbook.add_chart({'type': 'line'})
chart_weight.add_series({'values': '=Year_sheet!$B$2:$B$13'})
chart_weight.set_x_axis({'name': 'Months'})
chart_weight.set_title({'name': 'Gross tonnage'})
# 隐藏图例,去掉Serie1标签
chart_weight.set_legend({'visible': False})

worksheet1.insert_chart('A16', chart_weight) 
writer.save()

批量处理多个图表

如果要生成多个图表并统一移除图例,可以把图表配置逻辑封装,或者在循环创建图表时统一调用set_legend():

# 示例:批量创建3个折线图并隐藏图例
for i in range(3):
    chart = workbook.add_chart({'type': 'line'})
    chart.add_series({'values': f'=Year_sheet!${chr(66+i)}$2:${chr(66+i)}$13'})
    chart.set_x_axis({'name': 'Months'})
    chart.set_title({'name': f'Chart {i+1}'})
    chart.set_legend({'visible': False})  # 统一隐藏图例
    worksheet1.insert_chart(f'A{16 + i*10}', chart)

内容的提问来源于stack exchange,提问作者Jon Helge Einås

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 12:10:34