$scope.energyRatioData = [
{value: 1048, name: '报警'},
{value: 735, name: '故障'},
{value: 580, name: '正常'},
{value: 484, name: '离线'},
]
$scope.energyRatioOption = {
tooltip: {
trigger: 'item',
backgroundColor: 'rgba(30,41,54,.8)',
// axisPointer: {//坐标轴指示器配置项
// lineStyle: {
// color: '#F50077'
// }
// },
borderColor: 'transparent',
textStyle: {
color: '#fff'
}
},
legend: {
right: 50,
top: 10,
orient: 'vertical',
textStyle: {
color: '#A9D1EC',
fontSize: 12
},
itemGap: 20,
itemWidth: 6,
itemHeight: 6,
icon: 'circle',
data: $scope.energyRatioLegend,
// 使用回调函数
formatter: function(name) {
// var data=[];
var data = $scope.energyRatioData;
var total = 0;
var tarValue;
for (var i = 0, l = data.length; i < l; i++) {
total += Number(data[i].value);
//console.log(typeof total)
if (data[i].name == name) {
tarValue = Number(data[i].value);
}
}
// console.log(tarValue)
// console.log(total)
var p = ((tarValue / total) * 100);//两个饼图所以需要*200-看图数量类推
// return name + " " + " " + "<span>" + p.toFixed(1) + "%" + "</span>";
return name + " " + p.toFixed(1) + "%" ;
}
},
color: ['#00C8FD','#00FFC8','#FD6B79','#FD9F02', '#0077D4'],
series: [
{
type: 'pie',
center: ['28%', '42%'],
radius: ['80%', '65%'],
itemStyle: {
borderRadius: 5,
color: function (params) {
var colorList = [
{
"c1": 'rgba(65,140,106,1)', //管理
"c2": 'rgba(61,255,160,1)'
},
{
"c1": 'rgba(134,60,186,1)', //实践
"c2": 'rgba(61,57,157,1)'
},
{
"c1": 'rgba(251,17,79,1)',//操作
"c2": 'rgba(145,56,76,1)'
},
{
"c1": 'rgba(232,108,110,1)',//操作
"c2": 'rgba(150,95,97,1)'
},
{
"c1": 'rgba(78,76,47,1)',//操作
"c2": 'rgba(253,166,33,1)'
}
]
// console.log(colorList)
// console.log([params.dataIndex])
let colorItem = colorList[params.dataIndex]
if (colorItem) {
return new echarts.graphic.LinearGradient(1, 0, 0, 0, [{ //颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上
offset: 0,
color: colorItem.c1
}, {
offset: 1,
color: colorList[params.dataIndex].c2
}])
} else {
return new echarts.graphic.LinearGradient(1, 0, 0, 0, [{ //颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上
offset: 0,
color: 'rgba(78,76,47,1)'
}, {
offset: 1,
color: 'rgba(253,166,33,1)'
}])
}
// borderColor: '',
// borderWidth: 2
}
},
avoidLabelOverlap: false,
hoverOffset: 5,
label: {
normal: {
show: false,
position: 'center'
},
emphasis: {
show: false,
textStyle: {
fontSize: '18'
}
}
},
labelLine: {
normal: {
show: false
}
},
data: $scope.energyRatioData
// data: enterPriseList
}
]
};