配置项如下
var scaleData = [{
'name': '工程建设',
'value': 10
},
{
'name': '产权交易',
'value': 10
},
{
'name': '土地交易',
'value': 10
},
{
'name': '其他交易',
'value': 10
}
];
var sum = 0
var rich = {
white: {
color: '#fff',
align: 'center',
fontWeight:'bold',
padding: [3, 0]
}
};
var placeHolderStyle = {
normal: {
label: {
show: false
},
labelLine: {
show: false
},
color: 'rgba(0, 0, 0, 0)',
borderColor: 'rgba(0, 0, 0, 0)',
borderWidth: 0
}
};
var data = [];
var data1 = [];
var color1 = ['#009cff', '#00fff0', '#f1bb00', '#00f439'];
for (var i = 0; i < scaleData.length; i++) {
sum += scaleData[i].value
data.push({
value: scaleData[i].value,
name: scaleData[i].name,
itemStyle: {
normal: {
borderWidth: 4,
shadowBlur: 10,
// borderColor:color1[i],
shadowColor: color1[i],
color: color1[i],
opacity:0.75,
}
}
}, {
value: scaleData[i].value / 50,
name: '',
itemStyle: placeHolderStyle
});
data1.push({
value: scaleData[i].value,
name: scaleData[i].name,
itemStyle: {
normal: {
borderWidth: 4,
// shadowBlur: 10,
// borderColor:color1[i],
// shadowColor: color1[i],
color: color1[i],
opacity:0.3,
}
}
}, {
value: scaleData[i].value / 50,
name: '',
itemStyle: placeHolderStyle
});
}
var seriesObj = [
{
name: '',
type: 'pie',
clockWise: true,
radius: [180, 200],
hoverAnimation: false,
itemStyle: {
normal: {
label: {
show: false,
position: 'inner',
fontWeight:'bold',
formatter: function(params) {
var percent = 0;
var total = 0;
for (var i = 0; i < scaleData.length; i++) {
total += scaleData[i].value;
}
percent = ((params.value / total) * 100).toFixed(0);
if(params.name !== '') {
return params.name + '\n{white|' + '占比' + percent + '%}';
}else {
return '';
}
},
rich: rich
},
labelLine: {
show: false,
}
}
},
data: data
},
{
name: '',
type: 'pie',
clockWise: true,
radius: [140, 180],
hoverAnimation: false,
itemStyle: {
normal: {
label: {
show: false,
position: 'inner',
fontWeight:'bold',
formatter: function(params) {
var percent = 0;
var total = 0;
for (var i = 0; i < scaleData.length; i++) {
total += scaleData[i].value;
}
percent = ((params.value / total) * 100).toFixed(0);
if(params.name !== '') {
return params.name + '\n{white|' + '占比' + percent + '%}';
}else {
return '';
}
},
rich: rich
},
labelLine: {
show: false,
}
}
},
data: data1
}
];
var option = {
backgroundColor: '#04243E',
tooltip: {
show: false
},
legend: {
show: true,
x: 'right',
y: 'center',
icon: 'circle',
itemWidth: 15,
itemHeight: 15,
itemGap: 30,
textStyle: {
color: '#fff',
fontSize: 24
}
},
toolbox: {
show: false
},
series: seriesObj
}