配置项如下
let bgColor = '#fff';
let title = '160';
// let color = ['#A530FF', '#6C62FF', '#3F89FF', '#02D8FF'];
let colorList = ['#6DCDE6', '#E23AF5', '#4366F3', '#F5A43A'];
let Data = [{
name: "流动性紧缺",
value: "37"
},
{
name: "供给性紧缺",
value: "29"
},
{
name: "小规模供给性紧缺",
value: "22"
},
{
name: "一般紧缺",
value: "14"
}
];
let formatNumber = function(num) {
let reg = /(?=(\B)(\d{3})+$)/g;
return num.toString().replace(reg, ',');
}
let total = Data.reduce((a, b) => {
return a + b.value * 1
}, 0);
option = {
// backgroundColor: bgColor,
color: colorList,
// tooltip: {
// trigger: 'item'
// },
title: [{
// text: '{name|' + title + '}{val|cm}\n{val|-平均身高-}',
top: 'center',
left: 'center',
textStyle: {
rich: {
name: {
fontSize: 32,
fontWeight: 'normal',
color: '#02CDFF',
padding: [10, 0]
},
val: {
fontSize: 16,
fontWeight: 'bold',
color: '#5982AC',
}
}
}
}],
legend: {
// orient: 'vertical',
icon: 'rect',
x: 'center',
y: '20',
itemWidth: 12,
itemHeight: 12,
align: 'left',
itemGap: 24,
textStyle: {
fontSize: 12,
color: '#8EC6D8',
/* rich: {
name: {
fontSize: 12,
color: '#8EC6D8'
},
value: {
fontSize: 16,
padding: [0, 5, 0, 15]
},
unit: {
fontSize: 12
}
}*/
},
// formatter: function(name) {
// let res = Data.filter(v => v.name === name);
// res = res[0] || {};
// let unit = res.unit || '';
// return '{name|' + name + '}'
// }
// data: legendName
},
series: [{
type: 'pie',
radius: ['35%', '45%'],
center: ['50%', '50%'],
hoverAnimation: true,
selectedMode: 'single',
selectedOffset: 10,
clockwise: true,
data: Data,
itemStyle: {
normal: {
borderColor: bgColor,
borderWidth: 6
}
},
labelLine: {
normal: {
length: 40,
length2: 60,
lineStyle: {
color: '#73C5D9'
}
}
},
label: {
textStyle: {
align: 'left'
},
formatter: '{a|{b} \n {d}%}',
/*formatter: params => {
return (
'{a| '+ params.name +' \n }' +
'{b| '+ params.value +'% \n }'
);
},*/
padding: [20, 0, 0, 0],
rich: {
icon: {
fontSize: 16
},
a: {
fontSize: 14,
padding: [0, 10, 6, 4],
color: '#8EC6D8'
},
}
}
},
{
// 短刻度节点线
type: 'gauge',
startAngle: 270, // 270
endAngle: -89.9999,
center: ['50%', '50%'],
axisTick: {
show: false
},
axisLabel: {
show: false
},
radius: '56%',
splitNumber: '60', // 42
axisLine: {
show: false,
lineStyle: {
color: [
[1, '#1755ff'] // 01ADF8 1755ff
],
width: 10
}
},
splitLine: {
length: 14,
lineStyle: {
width: 2,
color: '#01ADF8',
distance: 10,
}
},
detail: {
show: false
},
},
{
// 长刻度节点线
type: 'gauge',
startAngle: 270, // 270
endAngle: -89.9999,
center: ['50%', '50%'],
axisTick: {
show: false
},
axisLabel: {
show: false
},
radius: '58%',
splitNumber: '12',
axisLine: {
show: false,
lineStyle: {
color: [
[1, '#1755ff'] // 01ADF8 1755ff
],
width: 10
}
},
splitLine: {
length: 18,
lineStyle: {
width: 2,
color: '#00ADF9',
distance: 10,
}
},
detail: {
show: false
},
},
]
};