UNPKG

932 BJavaScriptView Raw
1import { getLogPositiveMin, log } from '../util/math';
2/**
3 * 计算 log 的 ticks,考虑 min = 0 的场景
4 * @param cfg 度量的配置项
5 * @returns 计算后的 ticks
6 */
7export default function calculateLogTicks(cfg) {
8 var base = cfg.base, tickCount = cfg.tickCount, min = cfg.min, max = cfg.max, values = cfg.values;
9 var minTick;
10 var maxTick = log(base, max);
11 if (min > 0) {
12 minTick = Math.floor(log(base, min));
13 }
14 else {
15 var positiveMin = getLogPositiveMin(values, base, max);
16 minTick = Math.floor(log(base, positiveMin));
17 }
18 var count = maxTick - minTick;
19 var avg = Math.ceil(count / tickCount);
20 var ticks = [];
21 for (var i = minTick; i < maxTick + avg; i = i + avg) {
22 ticks.push(Math.pow(base, i));
23 }
24 if (min <= 0) {
25 // 最小值 <= 0 时显示 0
26 ticks.unshift(0);
27 }
28 return ticks;
29}
30//# sourceMappingURL=log.js.map
\No newline at end of file