配置项如下
let color = ["#2ec7c9","#b6a2de","#5ab1ef","#F5BF3C", "#DC6255"]
let data = [
{name: '事项1', value: 20},
{name: '事项2', value: 30},
{name: '事项3', value: 60},
{name: '事项4', value: 120},
{name: '事项5', value: 120},
]
let max = Math.max(...data.map(item=>item.value));
let sum = eval(data.map(item=>item.value).join('+'))
option = {
backgroundColor: '#000',
angleAxis: {
show: 0,
clockwise: false,
max: max + max/3
},
radiusAxis: {
type: 'category',
data: data.map(item => {
return item.name + ':' + '('+ (item.value / sum * 100).toFixed(1) +'%)'
}),
z: 10,
axisLine: {
show: false,
},
axisTick: {
show: false
},
axisLabel: {
interval: 0,
color: '#fff',
align: 'left',
margin: -10
}
},
polar: {
show: 0,
center: ['50%', '50%']
},
series: [{
type: 'bar',
data: data.map((item, index) => {
return {
value: item.value,
name: item.name,
itemStyle: {
color: color[index]
}
}
}),
label: {
show: true,
position: 'top',
},
barWidth: 10,
coordinateSystem: 'polar',
}]
};