echarts饼状图 legend置灰各项百分比变化
时间: 2023-12-04 15:40:58 浏览: 84
根据提供的引用内容,可以通过设置legend的formatter属性来实现饼状图legend置灰各项百分比变化的效果。具体实现步骤如下:
1.在legend中设置formatter属性,用于格式化每个legend项的文本内容。
2.在formatter函数中,通过params[i].percent来获取当前项的百分比值,并根据需要进行格式化。
3.通过params[i].name来获取当前项的名称,并根据需要进行格式化。
4.通过params[i].status来获取当前项的状态,如果为'inactive'则表示当前项被置灰,否则为'normal'。
5.根据当前项的状态,设置对应的文本样式,例如颜色、字体大小等。
下面是一个示例代码,用于实现legend置灰各项百分比变化的效果:
```javascript
option = {
legend: {
data:['直接访问','邮件营销','联盟广告','视频广告','搜索引擎'],
formatter: function(name) {
var index = 0;
var percent = 0;
for(var i=0;i<params.length;i++){
if(params[i].name == name){
index = i;
percent = params[i].percent;
break;
}
}
var textStyle = {};
if(params[index].status == 'inactive'){
textStyle.color = '#ccc';
}else{
textStyle.color = '#333';
}
return '{a|'+name+'}\n{b|'+percent.toFixed(2)+'%}';
},
textStyle: {
rich: {
a: {
fontSize: 14,
lineHeight: 20
},
b: {
fontSize: 12,
lineHeight: 20
}
}
}
},
series: [
{
name:'访问来源',
type:'pie',
radius: ['50%', '70%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: '30',
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data:[
{value:335, name:'直接访问'},
{value:310, name:'邮件营销'},
{value:234, name:'联盟广告'},
{value:135, name:'视频广告'},
{value:1548, name:'搜索引擎'}
]
}
]
};
```
阅读全文