var option = {
title: {
text: '单位 %',
left: '25px',
textStyle: {
color: '#666',
fontWeight: '400',
fontSize: 12,
}
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
legend: {
x: 'right'
},
color: [
'#fdad61', '#68bfa3', '#4a8df0'
],
grid: {
left: '0%',
right: '8%',
bottom: '3%',
containLabel: true
},
xAxis: [{
type: 'category',
axisTick: {
show: false
},
axisLabel: {
interval: 0
},
data: ['地区1', '地区2', '地区3', '地区4', '地区5']
}],
yAxis: [{
show: false,
type: 'value',
name: '单位 %',
}],
series: [
{
name: '当月完成',
type: 'bar',
stack: 'Ad',
emphasis: {
focus: 'series'
},
data: [220, 182, 191, 234, 290]
}, {
name: '累计完成',
type: 'bar',
stack: 'Ad',
emphasis: {
focus: 'series'
},
label: {
show: true,
position: 'top'
},
data: [150, 232, 201, 154, 190]
},
{
name: '均值',
type: 'line',
emphasis: {
focus: 'series'
},
lineStyle: {
color: 'transparent'
},
symbol: "none",
data: [],
markLine: {
data: [{
type: 'average',
name: '平均值'
}]
}
},
]
};
// 计算总数
var sum = 0;
var num = 0;
var arr = option.series[0].data;
var arr1 = option.series[1].data;
var arr2 = option.series[2].data;
for (var i = 0; i < arr.length; i++) {
sum += arr[i];
}
for (var i = 0; i < arr.length; i++) {
sum += arr1[i];
}
// 计算总数均值
for (var i = 0; i < arr.length; i++) {
num = arr1[i] + arr[i];
arr2.push(num);
num = 0;
}
option.series[1].label.formatter = function(params) { return (params.value / sum * 100).toFixed(2); };
option.series[2].data = arr2;