You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.3 KiB
42 lines
1.3 KiB
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getRange = getRange;
|
|
exports.getStackedData = getStackedData;
|
|
var tslib_1 = require("tslib");
|
|
var util_1 = require("@antv/util");
|
|
/**
|
|
* 获得数据的最值
|
|
*/
|
|
function getRange(data) {
|
|
if (data.length === 0)
|
|
return [0, 0];
|
|
return [
|
|
(0, util_1.min)((0, util_1.minBy)(data, function (arr) { return (0, util_1.min)(arr) || 0; })),
|
|
(0, util_1.max)((0, util_1.maxBy)(data, function (arr) { return (0, util_1.max)(arr) || 0; })),
|
|
];
|
|
}
|
|
/**
|
|
* 数据转换为堆叠数据
|
|
*/
|
|
function getStackedData(_) {
|
|
var data = (0, util_1.clone)(_);
|
|
// 生成堆叠数据
|
|
var datumLen = data[0].length;
|
|
// 上一个堆叠的数据值,分别记录正负
|
|
var _a = tslib_1.__read([Array(datumLen).fill(0), Array(datumLen).fill(0)], 2), positivePrev = _a[0], negativePrev = _a[1];
|
|
for (var i = 0; i < data.length; i += 1) {
|
|
var datum = data[i];
|
|
for (var j = 0; j < datumLen; j += 1) {
|
|
if (datum[j] >= 0) {
|
|
datum[j] += positivePrev[j];
|
|
positivePrev[j] = datum[j];
|
|
}
|
|
else {
|
|
datum[j] += negativePrev[j];
|
|
negativePrev[j] = datum[j];
|
|
}
|
|
}
|
|
}
|
|
return data;
|
|
}
|
|
//# sourceMappingURL=utils.js.map
|