utils.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { __read } from "tslib";
  2. import { clone, min, minBy, max, maxBy } from '@antv/util';
  3. /**
  4. * 获得数据的最值
  5. */
  6. export function getRange(data) {
  7. if (data.length === 0)
  8. return [0, 0];
  9. return [min(minBy(data, function (arr) { return min(arr) || 0; })), max(maxBy(data, function (arr) { return max(arr) || 0; }))];
  10. }
  11. /**
  12. * 数据转换为堆叠数据
  13. */
  14. export function getStackedData(_) {
  15. var data = clone(_);
  16. // 生成堆叠数据
  17. var datumLen = data[0].length;
  18. // 上一个堆叠的数据值,分别记录正负
  19. var _a = __read([Array(datumLen).fill(0), Array(datumLen).fill(0)], 2), positivePrev = _a[0], negativePrev = _a[1];
  20. for (var i = 0; i < data.length; i += 1) {
  21. var datum = data[i];
  22. for (var j = 0; j < datumLen; j += 1) {
  23. if (datum[j] >= 0) {
  24. datum[j] += positivePrev[j];
  25. positivePrev[j] = datum[j];
  26. }
  27. else {
  28. datum[j] += negativePrev[j];
  29. negativePrev[j] = datum[j];
  30. }
  31. }
  32. }
  33. return data;
  34. }
  35. //# sourceMappingURL=utils.js.map