UNPKG

968 BJavaScriptView Raw
1import { fixedBase } from '@antv/util';
2function snapMultiple(v, base, snapType) {
3 var div;
4 if (snapType === 'ceil') {
5 div = Math.ceil(v / base);
6 }
7 else if (snapType === 'floor') {
8 div = Math.floor(v / base);
9 }
10 else {
11 div = Math.round(v / base);
12 }
13 return div * base;
14}
15export default function intervalTicks(min, max, interval) {
16 // 变成 interval 的倍数
17 var minTick = snapMultiple(min, interval, 'floor');
18 var maxTick = snapMultiple(max, interval, 'ceil');
19 // 统一小数位数
20 minTick = fixedBase(minTick, interval);
21 maxTick = fixedBase(maxTick, interval);
22 var ticks = [];
23 for (var i = minTick; i <= maxTick; i = i + interval) {
24 var tickValue = fixedBase(i, interval); // 防止浮点数加法出现问题
25 ticks.push(tickValue);
26 }
27 return {
28 min: minTick,
29 max: maxTick,
30 ticks: ticks
31 };
32}
33//# sourceMappingURL=interval.js.map
\No newline at end of file