gpt4 book ai didi

python - openpyxl - x 和 y 轴刻度的增量

转载 作者:行者123 更新时间:2023-12-01 06:44:24 39 4
gpt4 key购买 nike

我正在创建的条形图会自动缩放 Y 轴刻度增量,从 0 开始为 0, .5, 1, 1.5 等。我希望它仅以整数递增,即 0, 1, 2, 3, 4 等。我尝试过 chart.y_axis.tickLblSkip = 1 但有疑问,因为我相信这只是标签本身,而不是实际的刻度线。有办法控制这个吗?我在文档中看到,您可以使用 chart.y_axis.scaling.minmax 控制轴的整体比例,但这不是我想要的。

下面是用于生成图表的代码。下面是图表本身,您可以在其中看到 Y 轴刻度,因为“独特的工作”只会是整数,有小数看起来很愚蠢:

# Unique jobs chart
chart = BarChart()
chart.type = 'col'
chart.style = 13
chart.title = 'Unique Job Numbers Run'
chart.y_axis.title = 'Total Number of Parts'
chart.x_axis.title = 'Machine Number'
chart.legend = None
data = Reference(yearly_machine_totals_ws, min_col=4, min_row=1,
max_row=yearly_machine_totals_ws.max_row, max_col=4)
cats = Reference(yearly_machine_totals_ws, min_col=1, min_row=2,
max_row=yearly_machine_totals_ws.max_row)
chart.add_data(data, titles_from_data=True)
chart.set_categories(cats)
chart_ws.add_chart(chart, 'L2')

enter image description here

最佳答案

您的图表的 y_axis 类型为 NumericAxis。要实现您想要的效果,您需要定义其 majorUnit 属性:

chart.y_axis.majorUnit = 1

您如何知道哪些属性可用于某种类型的图表或轴?您需要弄清楚实现了什么。您的图表属于 BarChart 类型。检查documentation on BarChart得出其 x 轴为 TextAxis 类型,而 y 轴为 NumericAxis。所有轴类型的功能均已记录 here 。显然,tickLblSkip 属性仅存在于 TextAxisSeriesAxis 中。对于 NumericAxis,您将需要 unit 属性,可能 minmax 也可能有用。

确定任何对象类型的一种简单的交互式方法是 type() 方法。推杆

print(type(chart.y_axis))

在您的代码中将方便地显示:

<class 'openpyxl.chart.axis.NumericAxis'>

关于python - openpyxl - x 和 y 轴刻度的增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59304386/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com