需求:外部有个嵌套的饼图,分段渐变色,对应内部饼图区域
const data = [
{ value: 1775, name: '1' },
{ value: 679, name: '2' },
{ value: 848, name: '3' },
{ value: 775, name: '4' },
{ value: 848, name: '5' }
];
const data1 = [];
const color1 = ['#46C4C4', '#75D3D3', '#A3E2E2', '#D0F0F0'];
const color2 = ['#F3CF76', '#F6DB98', '#F9E7BB', '#FCF3DD'];
const color3 = ['#F3B776', '#F6C998', '#F9DBBB', '#FCEDDD'];
const color4 = ['#65D9D0', '#B2ECE7'];
const color5 = ['#49CBF1', '#77D8F4', '#88DDF5'];
const outColorfulPie = (value, colorArr) => {
const partnum = value / colorArr.length;
for (let i = 0; i < colorArr.length; i++) {
data1.push({ value: partnum, itemStyle: { color: colorArr[i] } });
}
};
outColorfulPie(data[0].value, color1)
outColorfulPie(data[1].value, color2)
outColorfulPie(data[2].value, color3)
outColorfulPie(data[3].value, color4)
outColorfulPie(data[4].value, color5)
option = {
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}: {c} ({d}%)'
},
color: ['#19B6B6', '#F0C354', '#F0A554', '#3ECFC4', '#1CBEED'],
legend: {},
series: [
{
type: 'pie',
radius: [0, '40%'],
itemStyle: {
borderColor: '#fff',
borderWidth: 3
},
label: {
show: true
},
labelLine: {
length: 90
},
data: data
},
{
type: 'pie',
labelLine: {
show: false
},
radius: ['45%', '60%'],
data: data1
}
]
};