之前弄个一个类似的,跟复杂一点 参考 // 找到可见点中优先级最高的系列名
function sumLabel() {
const point = this;
const points = point.points;
const validPoints = points.filter((p) => p.isVisible());
const seriesNames1 = points.map(point => point.seriesName).reverse().slice(3);
console.log(seriesNames1);
let outerSeriesName = null;
let outervalidPointslength = null;
// 找到可见点中优先级最高的系列名
for (let i = 0; i < seriesNames1.length; i++) {
const seriesName = seriesNames1[i];
if (validPoints.some((p) => p.seriesName === seriesName)) {
outerSeriesName = seriesName;
outervalidPointslength = validPoints.length;
debugger;
break;
}
}
//组合图去除折线图求和
if (point.seriesName === outerSeriesName) {
let value = 0;
for (let i = 0; i < outervalidPointslength; i++) {
if (validPoints[i].seriesName != '比例' ) {
value += validPoints[i].value;
}
}
// 累加的值加上当前点的值,并使用 toLocaleString() 添加千分符
return Math.round(value*100)/100;
} else {
return "";
}
}