如何在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")
关键说明
- 引入富文本模块:需要导入
RichText、Paragraph、Run来构建带样式的文本结构 - 构建富文本内容:
Run对象承载文本内容和具体样式(这里设置字体颜色的RGB值)- 将
Run添加到Paragraph,再把Paragraph添加到RichText对象中
- 替换Y轴标题:把原来直接赋值的字符串替换为构建好的
RichText对象,即可实现标题颜色自定义
你可以根据需求修改r.font.color.rgb的值,比如蓝色对应"0000FF",绿色对应"00FF00",以此类推。
内容的提问来源于stack exchange,提问作者Henri
相关产品推荐
相关产品推荐

