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

如何在Openpyxl中为柱状图Y轴标题设置颜色?

如何用openpyxl设置柱状图Y轴标题的颜色

要给openpyxl生成的柱状图Y轴标题设置颜色,需要通过**富文本(RichText)**配置标题的字体样式——默认的普通文本标题不支持单独设置颜色。以下是修改后的完整代码及关键实现步骤:

修改后的完整代码

import openpyxl
from openpyxl.chart import BarChart, Reference
from openpyxl.drawing.text import RichText, Paragraph, Run

# 创建工作簿并激活工作表
wb = openpyxl.Workbook()
sheet = wb.active

# 插入分类数据
sheet.cell(row=1, column=1, value='Category 1.1')
sheet.cell(row=2, column=1, value='Category 1.2 - limit')
sheet.cell(row=3, column=1, value='Category 2')
sheet.cell(row=4, column=1, value='Category 2.1 - extra')
sheet.cell(row=5, column=1, value='Category 2.2 - extra2')

# 插入数值数据
for i in range(5):
    sheet.cell(row=i+1, column=2, value=i+2)

# 创建柱状图
chart = BarChart()

values = Reference(sheet, min_col=2, min_row=1, max_col=2, max_row=5)
bar_categories = Reference(sheet, min_col=1, min_row=1, max_row=5)
chart.add_data(values)
chart.set_categories(bar_categories)

chart.title = "BAR-CHART"
chart.legend = None
chart.x_axis.title = "X_AXIS"

# 设置Y轴标题及颜色
rt = RichText()
p = Paragraph()
r = Run()
r.text = "Y_AXIS"
# 设置标题颜色(RGB格式,示例为红色)
r.font.color.rgb = "FF0000"
p.runs.append(r)
rt.append(p)
chart.y_axis.title.tx = rt

sheet.add_chart(chart, "E2")

# 保存文件
wb.save("barChart.xlsx")

关键说明

  1. 引入富文本模块:需要导入RichText、Paragraph、Run来构建带样式的文本结构
  2. 构建富文本内容:
    • Run对象承载文本内容和具体样式(这里设置字体颜色的RGB值)
    • 将Run添加到Paragraph,再把Paragraph添加到RichText对象中
  3. 替换Y轴标题:把原来直接赋值的字符串替换为构建好的RichText对象,即可实现标题颜色自定义

你可以根据需求修改r.font.color.rgb的值,比如蓝色对应"0000FF",绿色对应"00FF00",以此类推。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 15:36:26