getYLineMaxAndMinVal method
获取在Y轴上最大和最小值(max,min)
Implementation
Point<double> getYLineMaxAndMinVal(List<LineChartPoint> points) {
LineChartPoint maxY =
points.reduce((cur, next) => cur.yValue > next.yValue ? cur : next);
LineChartPoint minY =
points.reduce((cur, next) => cur.yValue < next.yValue ? cur : next);
//向上扩大
double max1 = (maxY.yValue / 10).ceil() * 10;
//向下扩大
double min1 = (minY.yValue / 10).floor() * 10;
double duration = 0.0;
if (max1 - min1 == 0) {
duration = 10;
} else {
duration = (max1 - min1) / (xLineNums - 1);
}
if (minY.yValue > 10) {
int a = duration ~/ 10;
duration = (a + 1) * 10;
}
var yLineStartN = max1 - duration * (xLineNums - 1).toInt();
if (max1 - yLineStartN == 0) {
max1 = 6;
yLineStartN = 0;
}
return Point(max1, yLineStartN);
}