首页 > 解决方案 > 如何使用带有 XLSXWRITER 的 set_y2_axis 函数设置最大边界?

问题描述

似乎目前无法使用set_y2_axis()带有 XLSXWriter 的函数设置最大边界。它可以正常工作set_y_axis()

在下面的示例中,y 轴将限制为 3.5,但 y 轴不会限制为 100:

column_chart.set_y_axis({'name': 'Frequency (%)',
                         'max': 3.5,
                         })
column_chart.set_y2_axis({'name': 'Cummulative Frequency (%)',
                          'max': 100.0,
                          })

官方文档中是这样说的set_y2_axis“可以设置的属性和set_x_axis的一样,见上。” Excel 不支持折线图中的 x 轴等类别轴的最大值和最小值(github 上的相应问题)。但是,可以在 Excel 中为辅助 y 轴设置最大边界...

在此处输入图像描述

你能告诉我我错过了什么或我做错了什么吗?

提前谢谢了,

罗曼

编辑:

我的错误是我set_y2_axis()在错误的图表上应用了。我申请的是“最终”组合column_chart,但它应该应用在line_chart调用之前combine()

标签: pythonchartsxlsxwriter

解决方案


对的,这是可能的。这是一个简单的工作示例,将辅助轴的最大值设置为 10:

import xlsxwriter

workbook = xlsxwriter.Workbook('chart_secondary_axis.xlsx')
worksheet = workbook.add_worksheet()

# Write some data.
data = [
    [2, 3, 4, 5, 6, 7],
    [10, 40, 50, 20, 10, 50],
]

worksheet.write_column('A1', data[0])
worksheet.write_column('B1', data[1])

# Create the chart.
chart = workbook.add_chart({'type': 'line'})

chart.add_series({
    'values': '=Sheet1!$A$1:$A$6',
    'y2_axis': 1,
})

chart.add_series({
    'values': '=Sheet1!$B$1:$B$6',

})

chart.set_y2_axis({'max': 10})

worksheet.insert_chart('D2', chart)

workbook.close()

输出:

在此处输入图像描述


推荐阅读