1、源代码:
let seriseData = [
{ value: 1048, name: 'Search Engine' },
{ value: 735, name: 'Direct' }
]
option = {
color: ['#5D9AF1', '#D6D6D6'],
tooltip: {
trigger: 'item',
backgroundColor: ' rgba(0,0,0,0.4)',
borderColor: 'transparent',
formatter: (item) => {
console.log('item',item)
let html = `<div style="display: flex;align-items: center;">
<div style="width: 8px;height: 8px;border-radius: 20px;background: ${item.color};margin-right: 10px;"></div>
<div style="color: #fff;font-size: 12px;margin-right: 10px;">${item.name}</div>
<div style="color: #fff;font-size: 14px;">${item.value}</div>
`
html += `<div>`
return html
}
},
legend: {
show: true,
orient: 'vertical',
top: 'center',
right: '10',
formatter: function (name) {
let arr = []
for(let i=0; i < seriseData.length;i++) {
if (seriseData[i].name === name) {
arr.push('{a|'+seriseData[i].name+'}{b|'+seriseData[i].value+'}')
}
}
return arr.join('\n')
},
textStyle:{
rich:{
a:{
fontSize:18,
align:'center',
padding: [0,10,0,0]
},
b:{
fontSize: 24,
align:'center',
fontWeight: 600
}
}
}
},
series: [
{
type: 'pie',
radius: ['40%', '70%'],
label: {
show: false,
},
labelLine: {
show: false
},
selectedOffset: 0,
itemStyle: {
borderColor: '#fff',
borderWidth: 1
},
emphasis:{
disabled:false,
scale:false,
scaleSize:0,
},
data: seriseData
}
]
};
2、最终样式: