12

我正在使用神话般的 iOS 图表库 ( https://github.com/danielgindi/ios-charts ),我很难在文档中找到任何支持这种行为的东西。我想强制 y 轴始终显示 0-35 的范围。目前,如果我在 (0, 9) 处只有一个数据条目,则 y 轴将显示其范围为 0-9。但是,当我在 (1, 32) 处添加另一个条目时,突然我可以在 35 处看到图表的顶部。

有三种方法看起来很有希望(因为它们是相关的),但它们并不能完全提供我正在寻找的行为类型。

1:(Chart.setVisibleYRangeMaximum如果只是Minimum......)

2:(Chart.setVisibleXRangeMaximum又没用了……)

3:(Chart.setVisibleXRangeMinimum现在你YRange表弟呢?!)

所以无论如何,这就是我所在的地方。我已阅读文档但无济于事。帮我吗?

4

4 回答 4

19

对于图表 3(在图表 3.0.2 上尝试过),此方法有效:

chartView.leftAxis.axisMinimum = 0

默认情况下,还有一个 rightAxis(至少对于条形图),如果您不设置,网格将不会对齐:

chartView.rightAxis.axisMinimum = 0

注意:我最初是作为评论写的,但我认为这应该是一个让最终从谷歌来到这里的人更容易找到的答案。

于 2017-08-04T14:00:20.320 回答
12

customAxisMin在最新的图表中已弃用。

改用属性axisMinValue

于 2016-07-04T15:31:16.773 回答
9

看看下面的属性。应该可以解决你的问题。

/// A custom minimum value for this axis. 
/// If set, this value will not be calculated automatically depending on the provided data. 
/// Use resetCustomAxisMin() to undo this. 
/// Do not forget to set startAtZeroEnabled = false if you use this method.
/// Otherwise, the axis-minimum value will still be forced to 0.
public var customAxisMin = Double.NaN

/// Set a custom maximum value for this axis. 
/// If set, this value will not be calculated automatically depending on the provided data. 
/// Use resetCustomAxisMax() to undo this.
public var customAxisMax = Double.NaN

/// if true, the y-label entries will always start at zero
public var startAtZeroEnabled = true

例如:

_chartView.leftAxis.customAxisMax = 35;
_chartView.leftAxis.customAxisMin = 0;

或者_chartView.leftAxis.startAtZeroEnabled = YES;

于 2015-08-25T02:26:41.303 回答
1
    linechart2.leftAxis.axisMinimum = chartDataline.getYMin() - 0.1

要使图表仅关注 y 值范围,请获取数据集 LineChartData 的最小值,如果您想减去一些填充的缓冲区。

有人说曾经有“linechart2.leftAxis.startAtZeroEnabled = false”,但在代码中不再看到。

于 2019-03-23T00:51:20.950 回答