遇到一个需求:柱状堆叠图除了每个“柱”内部显示数据,还要在每个“柱”上方显示总数。类似下图:
解决:堆叠图新增一个总数的“柱”,此“柱”的对应data全置为0,则不会显示总数的堆叠图,再使用label的formatter显示计算出的数据总数。
基本代码:
...
const totalStackBar = {
name: '',
type: 'bar',
stack: 'stack',
itemStyle: {
normal:{
label: {
show: true,
position: 'top' //数据显示在上方
}
}
}
}
....
//获取到stack1 和 stack2的值后
totalStackBar.itemStyle.normal.label.formatter = (param) => {
const data = stack1[param.dataIndex] + stack2[param.dataIndex];
return data;
}
this.option.series.push(totalStackBar);
....