如何在iOS图表中设置y轴的最小值、最大值和网格线之间的固定步长?

4

我只是在学习使用ios-charts的阶段。我想把x轴网格更改为固定值。 我的绘制的y值只是整数,如1、2、3等,但是左侧的y轴显示的是6.3、9.1等值,取决于我的缩放级别。 第二个问题是,如何设置x轴以显示标签1、5、10、15、...40?

有没有办法像Excel那样影响步长?

// zoom y-axis to min/max value
lineChart.leftAxis.customAxisMin = max(0.0, lineChart.data!.yMin - 1.0)
lineChart.leftAxis.customAxisMax = min(10.0, lineChart.data!.yMax + 1.0)
lineChart.leftAxis.startAtZeroEnabled = false

图表(最小值=6.0,最大值=10.0):网格起始值为6.3,而不是6.0。

enter image description here

图表(最小值=7.0,最大值=10.0):网格从7.0开始,与预期一致。

enter image description here

这里出了什么问题?
2个回答

10

我只需设置正确的labelCount即可解决问题。

// zoom y-axis to min/max value
lineChart.leftAxis.customAxisMin = max(0.0, lineChart.data!.yMin - 1.0)
lineChart.leftAxis.customAxisMax = min(10.0, lineChart.data!.yMax + 1.0)
lineChart.leftAxis.labelCount = Int(lineChart.leftAxis.customAxisMax lineChart.leftAxis.customAxisMin)
lineChart.leftAxis.startAtZeroEnabled = false

感谢您发布这篇文章并回答自己的问题,它确实帮助了我,并且在示例中可能需要更多的文档说明!顺便提一下,我的图表显示温度,因此我只想让Y轴显示10ºC、20ºC和30ºC。 - Litome
您是否也解决了第二个问题:“第二个问题是如何设置x轴,以显示标签1、5、10、15、……40?我正在 x 轴上展示时间,并希望每隔2小时显示一个标签,例如:凌晨2点、4点、6点、8点、10点、中午、下午2点、4点、6点、8点、10点、午夜... - Litome
x 值为字符串。因此,您可以格式化任何您喜欢的字符串并将它们添加到 x 值数组中。 - Morpheus78

0

Swift 4.2 及以上版本:

startAtZeroEnabled - 此属性已弃用 - 请改用 axisMinimum

 open var axisMinValue: Double
     {
     get { return axisMinimum }
     set { axisMinimum = newValue }
 }

lineChartView.leftAxis.axisMinimum = 0
lineChartView.leftAxis.axisMaximum = 10.0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接