30%
配置项如下
data = [{
name: "公路工程",
value: 754,
num: 12,
percentage: 20
},
{
name: "高速公路",
value: 611,
num: 13,
percentage: 40
},
{
name: "综合交通枢纽及一体化设施",
value: 400,
num: 14,
percentage: 10
},
{
name: "普通公路",
value: 200,
num: 15,
percentage: 30
}
]
arrName = getArrayValue(data, "name");
objData = array2obj(data, "name");
console.log(objData)
function getArrayValue(array, key) {
var key = key || "value";
var res = [];
if (array) {
array.forEach(function(t) {
res.push(t[key]);
});
}
return res;
}
function array2obj(array, key) {
var resObj = {};
for (var i = 0; i < array.length; i++) {
resObj[array[i][key]] = array[i];
}
return resObj;
}
var option = {
backgroundColor: '#03060F',
legend: {
show: true,
icon: "circle",
top: "center",
right: '20%',
data: ['公路工程', '高速公路', '综合交通枢纽及一体化设施', '普通公路'],
width: 50,
padding: [0, 5],
itemGap: 25,
formatter: function(name) {
var text = name
if (name.length > 7 && name.length <= 16) {
text = `${name.slice(0,7)}\n${name.slice(7)}`
}
var result = "{title|" + text + " " + (objData[name].percentage) + "%}"
return result
},
textStyle: {
rich: {
title: {
fontSize: 14,
lineHeight: 15,
color: "#ffffff"
},
}
},
},
tooltip: {
show: true,
trigger: "item",
formatter: function(params) {
console.log(objData[params.name].num)
var result = params.name + '<br>';
result = '<span style="display:inline-block;margin-right:5px;border-radius:10px;' +
'width:9px;height:9px;background-color:' + params.color.colorStops[0].color + '"></span>' + result;
result += '\n投资额(万元):' + objData[params.name].value
result += '<br>项目数(件):' + objData[params.name].num
// 判断设置增长还是降低
return result;
}
},
title: {
text: '普通公路',
subtext: '30%',
textStyle: {
fontSize: 14,
color: '#ffffff'
},
subtextStyle: {
color: '#ffffff',
fontSize: 32,
},
x: '22%',
y: '46%',
},
series: [{
type: 'pie',
center: ["25%", "50%"],
color: [{
type: 'radial',
x: 0.1,
r: 1,
colorStops: [{
offset: 0,
color: '#007aff' // 0% 处的颜色
}, {
offset: 1,
color: '#133ffd' // 100% 处的颜色
}],
global: false // 缺省为 false
},
{
type: 'radial',
x: 0.1,
r: 1,
colorStops: [{
offset: 0,
color: '#6a47ff' // 0% 处的颜色
}, {
offset: 1,
color: '#637fea' // 100% 处的颜色
}],
global: false // 缺省为 false
},
{
type: 'radial',
x: 0.1,
r: 1,
colorStops: [{
offset: 0,
color: '#e4ad37' // 0% 处的颜色
}, {
offset: 1,
color: '#d5ffac' // 100% 处的颜色
}],
global: false // 缺省为 false
},
{
type: 'radial',
x: 0.1,
r: 1,
colorStops: [{
offset: 0,
color: '#29c5ff' // 0% 处的颜色
}, {
offset: 1,
color: '#20ddff' // 100% 处的颜色
}],
global: false // 缺省为 false
},
],
radius: [60, 90],
label: {
show: false,
},
data: data
}]
};