echarts图例legend选中状态动态设置 selected

Posted hanlengyao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了echarts图例legend选中状态动态设置 selected相关的知识,希望对你有一定的参考价值。

功能前端页面展示,需要对所有指标的图例默认选中状态只显示前两个,其他指标的图例状态默认为灰色。
1、因为所有的指标为动态加载的,因此图例legend选中状态也要通过js进行动态加载,从官方的文档里可以查询到legend.selected配置项可以设置图例的默认状态。
官方示例,true为选中展示系列,false为灰色默认不展示该系列:
selected: {
    // 选中‘系列1‘
    ‘系列1‘: true,
    // 不选中‘系列2‘
    ‘系列2‘: false
}
 
2、js代码
//图例配置项
legend: {
x: ‘center‘,
y: ‘bottom‘,
data: $scope.key_value,
selected:{}
},
 
//js动态加载
var selected_item = {};
for(i =0; i < $scope.key_value.length; i++){
var key_name = $scope.key_value[i];
if(i >1){
selected_item[key_name] = false;
}else{
selected_item[key_name] = true;
}
};
option.legend.selected = selected_item;
//标红是踩过的坑 原始写法selected_item.key_name = false; 会报错,原因是: json 解析时 key_name 都按字符串解析,不识别变量.
 
下面附加一下动态给对象添加属性和值得两种常用法法
              function Person(){};
              var person = new Person();
              person.name = ‘yy‘;
              person.gender = ‘girl‘;
              console.log(person.name+‘,‘+person.gender);//yy,girl
              delete person.name;//删除属性
              console.log(person.name);//undefined
  //            变式
              function Person(){};
             var person = new Person();
             person[‘name‘] = ‘yy‘;
             person[‘gender‘] = ‘girl‘;
             console.log(person.name+‘,‘+person.gender);//yy,girl
             delete person.name;//删除属性
             console.log(person.name);//undefined        
 

以上是关于echarts图例legend选中状态动态设置 selected的主要内容,如果未能解决你的问题,请参考以下文章

echarts重写图例点击事件

Echarts legend属性使用

Echarts中legend属性使用的方法详解

Echarts中一个图表可以定义两个legend图例吗

ECharts 图例换行居中

Echarts图例点击事件自定义Echarts图例legend点击事件(已解决)