使用CorePlot CPTAxisLabelingPolicyAutomatic设置显示最大y轴

问题描述 投票:0回答:1

我想用CPTAxisLabelingPolicyAutomatic设置绘制标签上显示最大y轴值标签的图形。但是我没有发现任何公共功能允许我这样做。

在检查CorePlot源代码(autoGenerateMajorTickLocations方法)之后,我想我可以通过使用CPTDecimalDivide和CPTNiceNum来做一些解决方法。我通过在Y轴上增加plotRange并计算出“漂亮的数字”间隔来实现我的代码

var majorInterval = CPTDecimalDivide( Decimal(yAxisLength), 
CPTDecimalFromUnsignedInteger(5-1))
majorInterval = CPTNiceNum(majorInterval)

let interval = Int(truncating: majorInterval as NSNumber)
let number = Int(yAxisLength/interval) + 1
yAxisLength = Int(Double(number * interval))

但是CPTNiceNum不是公共方法,所以我想知道有没有更好的方法呢?

ios swift core-plot
1个回答
1
投票

在图表上调用-layoutIfNeeded以确保更新轴标签,然后从y轴读取majorTickLocations集。您可以轻松找到集合中的最大位置值。

© www.soinside.com 2019 - 2024. All rights reserved.