Android chart 设置y轴根据数据均分为正整数
时间: 2024-02-05 16:14:03 浏览: 25
要设置y轴根据数据均分为正整数,可以通过以下步骤实现:
1. 获取数据中的最大值和最小值。
2. 计算出最大值和最小值之间的跨度,即:跨度 = 最大值 - 最小值。
3. 计算出每个刻度之间的间距,即:间距 = 跨度 / 刻度数。
4. 取整数,得到每个刻度的值。
5. 设置y轴的最小值为最小值,最大值为最大值,刻度数为计算出的刻度数,刻度值为计算出的每个刻度的值。
下面是一个具体的示例代码:
```
List<Entry> entries = new ArrayList<>();
entries.add(new Entry(0, 2));
entries.add(new Entry(1, 8));
entries.add(new Entry(2, 12));
entries.add(new Entry(3, 18));
entries.add(new Entry(4, 28));
LineDataSet dataSet = new LineDataSet(entries, "Label");
LineData lineData = new LineData(dataSet);
YAxis yAxis = chart.getAxisLeft();
float minValue = lineData.getYMin();
float maxValue = lineData.getYMax();
float span = maxValue - minValue;
int tickCount = 6; // 刻度数
float tickSpacing = span / tickCount;
int tickValue = Math.round(minValue); // 取整数,得到第一个刻度的值
while (tickValue < maxValue) {
yAxis.addYEntry(tickValue);
tickValue += tickSpacing;
}
yAxis.setAxisMinimum(minValue);
yAxis.setAxisMaximum(maxValue);
yAxis.setLabelCount(tickCount);
```
在这个代码中,我们首先获取了一个包含5个数据点的LineDataSet,然后计算出了最小值、最大值和跨度。接下来,我们设置了刻度数为6,计算出每个刻度之间的间距和每个刻度的值。最后,我们使用getYEntry()方法向y轴添加刻度,并设置y轴的最小值、最大值和刻度数。