/**
* 宏类型:ClientSide(服务端)
* 对象:chart
* 事件:afterRenderer
*/
function main(chartView) {
var options = chartView.getChartObject().getOptions();
var series = options.series;
var totals = buildTotal(series);
var lastIndex = series.length - 1;
series[lastIndex].label = {
normal: {
position: 'top',
show: true,
formatter: function(a) {
return totals[a.dataIndex];
}
},
emphasis: {
position: 'top',
show: true,
formatter: function(a) {
return totals[a.dataIndex];
}
}
}
chartView.getChartObject().getChart().setOption(options);
}
function buildTotal(series) {
var totalLength = series[0].data.length;
var totals = [];
for (var k = 0; k < totalLength; k++) {
totals[k] = 0;
}
for (var i = 0; i < series.length; i++) {
for (var j = 0; j < series[i].data.length; j++) {
totals[j] += getValue(series[i].data[j].value);
}
}
return totals;
}
//获取数据项的值
function getValue(value) {
if (Array.isArray(value)) {
return value[1];
} else {
value;
}
}