@antv/f2
Version:
Charts for mobile visualization.
36 lines (35 loc) • 1.03 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = strictLimit;
var _util = require("@antv/util");
/**
* 按照给定的 minLimit/maxLimit/tickCount 均匀计算出刻度 ticks
*
* @param cfg Scale 配置项
* @return ticks
*/
function strictLimit(cfg, defaultMin, defaultMax) {
var _a;
var minLimit = cfg.minLimit,
maxLimit = cfg.maxLimit,
min = cfg.min,
max = cfg.max,
_b = cfg.tickCount,
tickCount = _b === void 0 ? 5 : _b;
var tickMin = (0, _util.isNil)(minLimit) ? (0, _util.isNil)(defaultMin) ? min : defaultMin : minLimit;
var tickMax = (0, _util.isNil)(maxLimit) ? (0, _util.isNil)(defaultMax) ? max : defaultMax : maxLimit;
if (tickMin > tickMax) {
_a = [tickMin, tickMax], tickMax = _a[0], tickMin = _a[1];
}
if (tickCount <= 2) {
return [tickMin, tickMax];
}
var step = (tickMax - tickMin) / (tickCount - 1);
var ticks = [];
for (var i = 0; i < tickCount; i++) {
ticks.push(tickMin + step * i);
}
return ticks;
}
;