UNPKG

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