我正在根据yMin
值对多个y轴的数据进行自动缩放。
我有一组多个yAxis的输入数据,如下所示:
yAxis1:
数据集1,yMin
为0.118234
- >因此,我minScale
的{{1}}将为yAxis1
0.1
数据集2,yAxis2:
为yMin
- >因此,我0.011823
的{{1}}将为minScale
yAxis2
数据集3,0.01
为yAxis3:
- >因此,我yMin
的{{1}}将为0.001182
显然,minScale
取决于yAxis3
的数量并执行0.001
但我如何确定minScale
任何帮助的数量?
答案 0 :(得分:1)
var decimal = -Math.floor(Math.log(yMin) / Math.log(10));
答案 1 :(得分:1)
StraightForward Way:
var getRightDecimal = function(num) {
var ori = num;
var n = 0;
if(num >= 10) {
while(num >= 10) {
--n;
num /= 10;
}
}
else {
while(num < 1) {
++n;
num *= 10;
}
}
console.log("yMin:",ori, " Base:",Math.pow(10, -1*n));
return n;
}
getRightDecimal(1.12);
getRightDecimal(10.1);
getRightDecimal(10);
getRightDecimal(100);
getRightDecimal(0.118234);
getRightDecimal(0.011823);
getRightDecimal(0.001182);
yMin: 1.12 Base: 1
yMin: 10.1 Base: 10
yMin: 10 Base: 10
yMin: 100 Base: 100
yMin: 0.118234 Base: 0.1
yMin: 0.011823 Base: 0.01
yMin: 0.001182 Base: 0.001