strict-limit.js 957 B

1234567891011121314151617181920212223242526
  1. import { isNil } from '@antv/util';
  2. /**
  3. * 按照给定的 minLimit/maxLimit/tickCount 均匀计算出刻度 ticks
  4. *
  5. * @param cfg Scale 配置项
  6. * @return ticks
  7. */
  8. export default function strictLimit(cfg, defaultMin, defaultMax) {
  9. var _a;
  10. var minLimit = cfg.minLimit, maxLimit = cfg.maxLimit, min = cfg.min, max = cfg.max, _b = cfg.tickCount, tickCount = _b === void 0 ? 5 : _b;
  11. var tickMin = isNil(minLimit) ? (isNil(defaultMin) ? min : defaultMin) : minLimit;
  12. var tickMax = isNil(maxLimit) ? (isNil(defaultMax) ? max : defaultMax) : maxLimit;
  13. if (tickMin > tickMax) {
  14. _a = [tickMin, tickMax], tickMax = _a[0], tickMin = _a[1];
  15. }
  16. if (tickCount <= 2) {
  17. return [tickMin, tickMax];
  18. }
  19. var step = (tickMax - tickMin) / (tickCount - 1);
  20. var ticks = [];
  21. for (var i = 0; i < tickCount; i++) {
  22. ticks.push(tickMin + step * i);
  23. }
  24. return ticks;
  25. }
  26. //# sourceMappingURL=strict-limit.js.map