in src/services/dataRenderService.ts [335:364]
private calcTickOptions(value: number): CircleTicksOptions {
let val: number = value > 0 ? Math.floor(value) : Math.ceil(value);
let modifier = 1;
if (val === 0) {
for (let i = 0; i < value.toString().length - 3; ++i) {
modifier *= 10;
val = value * modifier;
val = val > 0 ? Math.floor(val) : Math.ceil(val);
if (val !== 0) {
break;
}
}
}
let step = Math.pow(10, val.toString().length - 1);
let allTicksCount: number = Math.ceil((val) / step);
let endPoint: number = allTicksCount * step / modifier;
let diffPercent: number = endPoint / value;
let threeTicks: number = 3;
let twoTicks: number = 2;
return {
diffPercent,
maxHeight: allTicksCount * step * modifier,
ticksCount: allTicksCount % threeTicks === 0 ? threeTicks : twoTicks // 2 or 3 ticks only needed
};
}