使用MPchartAndroid 曲线 计算y 轴的算法
1 首先计算出y轴最大值:ymaxTemp
2 对y轴坐取整计算
对最大值*1.1是为了防止ymax值为999时,设置平滑曲线格式时顶部被切。
//计算yMax
//在这里乘以一个系数,为了防止曲线消顶。(某些极限情况下,依然会消顶)
yMaxTemp = yMaxTemp * 1.1f;
//取10的指数冥
int logN = (int) Math.log10(yMaxTemp);
//计算最大的除数(比如2100,此处计算的数是1000)
int mutiN = (int) Math.pow(10, logN);
//求最大位余数
int offset = (int) (yMaxTemp % mutiN);
int num = 0;
//求Y轴的最大值
if (offset == 0) {
num = (int) (yMaxTemp / mutiN + 1);
} else {
num = (int) (Math.ceil(yMaxTemp / mutiN));
}
//yMax小于10的取10
int yMax = num * mutiN < 10 ? 10 : num * mutiN;
将yMax设置给y轴
mChart.getAxisLeft().setAxisMaximum(yMax);