/**
* 计算Y轴的最大值
*
* @param yMaxTemp 数据源中的最大值
* @return 计算后返回的比例尺
*/
private int getYMaxValue(float yMaxTemp) {
//1.5f 这里的系数可以自己去改变
yMaxTemp = yMaxTemp * 1.5f;
//yMaxTemp 以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
// 大于10的=最大位的值*10的logN次方
return num * mutiN < 10 ? 10 : num * mutiN;
}
网友评论