cat.js 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var util_1 = require("@antv/util");
  4. var extended_1 = require("../util/extended");
  5. /**
  6. * 计算分类 ticks
  7. * @param cfg 度量的配置项
  8. * @returns 计算后的 ticks
  9. */
  10. function calculateCatTicks(cfg) {
  11. var values = cfg.values, tickInterval = cfg.tickInterval, tickCount = cfg.tickCount;
  12. var ticks = values;
  13. if ((0, util_1.isNumber)(tickInterval)) {
  14. return (0, util_1.filter)(ticks, function (__, i) { return i % tickInterval === 0; });
  15. }
  16. var min = cfg.min, max = cfg.max;
  17. if ((0, util_1.isNil)(min)) {
  18. min = 0;
  19. }
  20. if ((0, util_1.isNil)(max)) {
  21. max = values.length - 1;
  22. }
  23. if ((0, util_1.isNumber)(tickCount) && tickCount < max - min) {
  24. // 简单过滤,部分情况下小数的倍数也可以是整数
  25. // tslint:disable-next-line: no-shadowed-variable
  26. var ticks_1 = (0, extended_1.default)(min, max, tickCount, false, [1, 2, 5, 3, 4, 7, 6, 8, 9]).ticks;
  27. var valid = (0, util_1.filter)(ticks_1, function (tick) { return tick >= min && tick <= max; });
  28. return valid.map(function (index) { return values[index]; });
  29. }
  30. return values.slice(min, max + 1);
  31. }
  32. exports.default = calculateCatTicks;
  33. //# sourceMappingURL=cat.js.map