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.
38 lines
1.1 KiB
38 lines
1.1 KiB
import { __read } from "tslib";
|
|
import { clone, min, minBy, max, maxBy } from '@antv/util';
|
|
/**
|
|
* 获得数据的最值
|
|
*/
|
|
export function getRange(data) {
|
|
if (data.length === 0)
|
|
return [0, 0];
|
|
return [
|
|
min(minBy(data, function (arr) { return min(arr) || 0; })),
|
|
max(maxBy(data, function (arr) { return max(arr) || 0; })),
|
|
];
|
|
}
|
|
/**
|
|
* 数据转换为堆叠数据
|
|
*/
|
|
export function getStackedData(_) {
|
|
var data = clone(_);
|
|
// 生成堆叠数据
|
|
var datumLen = data[0].length;
|
|
// 上一个堆叠的数据值,分别记录正负
|
|
var _a = __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
|