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

openpyxl中percentStacked图表Y轴显示0-100的设置方法

解决openpyxl百分堆叠条形图Y轴整数百分比显示问题

直接通过设置Y轴的数字格式就能实现需求,无需修改原始数据或手动生成轴值,具体方法如下:

核心逻辑:percentStacked模式下Y轴的底层数值是0-1的小数,只需给Y轴指定百分比格式,Excel会自动完成0-1到0%-100%的转换显示。

具体代码示例

from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference

# 准备示例数据
wb = Workbook()
ws = wb.active
data = [
    ["类别", "系列1", "系列2", "系列3"],
    ["A", 10, 20, 70],
    ["B", 30, 40, 30],
    ["C", 50, 25, 25],
]
for row in data:
    ws.append(row)

# 创建百分堆叠条形图
chart = BarChart()
chart.type = "bar"
chart.grouping = "percentStacked"
chart.overlap = 100

# 关联数据与分类
values = Reference(ws, min_col=2, min_row=1, max_col=4, max_row=4)
categories = Reference(ws, min_col=1, min_row=2, max_row=4)
chart.add_data(values, titles_from_data=True)
chart.set_categories(categories)

# 关键:设置Y轴数字格式为整数百分比
y_axis = chart.y_axis
y_axis.number_format = "0%"  # 若需保留1位小数可改为"0.0%"

# 插入图表并保存
ws.add_chart(chart, "E1")
wb.save("percent_stacked_bar.xlsx")

设置完成后,Y轴会直接显示0、20、40…100这类整数百分比,完全匹配需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 19:12:03