echarts折线图图例修改,新增全选按钮及其实现方式

   var echart123_data={
         backgroundColor: "transparent",
  title: {
      text: '分局名称:',  //主
        // subtext: '设备类型:', // 副  
    textStyle: {
        color:'#FFF',
      fontSize: 14,
      fontWeight: 400,
       lineHeight:'-15'
    },
      subtextStyle:{  //副标题样式
            color: '#fff',
            fontSize: 14,
            lineHeight:'120'
        },
    left: "5%",
    top: "5%",
  },
  legend: {
   data:[],
    icon: "circle",
    top: "2%",
    right: "15%",
    left:'14%',
    selected:[],
    itemWidth: 7,
    itemGap: 17,
    textStyle: {
      color: "#fff",
   
    },
  },
  tooltip: {
    trigger: "axis",
    axisPointer: {
    
    },
    backgroundColor: "#fff",
    textStyle: {
      color: "#FFF",
    },
    // padding: [10, 10],
     extraCssText: 'background:rgba(0,0,0,0.5);border:none;padding:20px 30px;' ,
  },
  grid: {
    top: "35%",
    right:'5%',
    left:'5%',
    bottom:'1%',
     containLabel: true
  },
  xAxis: [
    {
      type: "category",
      data: [10,11,12,13,14,15,16],
      axisLine: {
        lineStyle: {
          color: "gray",
        },
      },
      axisTick: {
        show: false,
      },
      axisLabel: {
        interval: 0,
        textStyle: {
          color: "#fff",
        },
        // 默认x轴字体大小
        fontSize: 12,
        // margin:文字到x轴的距离
        margin: 10,
      },

      boundaryGap: false,
    },
  ],
  yAxis: [
    {
      type: "value",
      axisTick: {
        show: false,
      },
      axisLine: {
        show: true,
        lineStyle: {
          color: "gray",
        },
      },
      axisLabel: {
        textStyle: {
          color: "#fff",
        },
      },
      splitLine: {
        show: false,
      },
    },
    {
      type: "value",
      position: "right",
      axisTick: {
        show: false,
      },
      axisLabel: {
        textStyle: {
          color: "#556677",
        },
        formatter: "{value}",
      },
      axisLine: {
        show: true,
        lineStyle: {
          color: "#DCE2E8",
        },
      },
      splitLine: {
        show: false,
      },
    },
  ],
  series: [
    {
      name: "张江卡园",
      type: "line",
      data: [10, 10, 30, 12, 15, 3, 7],
     
      smooth: true,
      yAxisIndex: 0,
      showSymbol: false,

    //   itemStyle: {
    //     normal: {
    //       color: colorList[0],
    //       borderColor: colorList[0],
    //     },
    //   },
    },
    {
      name: "奉贤局房",
      type: "line",
      data: [5, 12, 11, 14, 25, 16, 10],
      
      
      smooth: true,
      yAxisIndex: 0,
      showSymbol: false,
    
    //   itemStyle: {
    //     normal: {
    //       color: colorList[1],
    //       borderColor: colorList[1],
    //     },
    //   },
    },
  {
      name: "Adidas1",
      type: "line",
      data: [10, 10, 30, 12, 15, 3, 7],
     
      smooth: true,
      yAxisIndex: 0,
      showSymbol: false,

    //   itemStyle: {
    //     normal: {
    //       color: colorList[2],
    //       borderColor: colorList[2],
    //     },
    //   },
    },
    {
      name: "长寿大楼",
      type: "line",
      data: [5, 12, 11, 14, 25, 16, 10],
      
      
      smooth: true,
      yAxisIndex: 0,
      showSymbol: false,
    
    //   itemStyle: {
    //     normal: {
    //       color: colorList[3],
    //       borderColor: colorList[3],
    //     },
    //   },
    },
  ],
    }
 initEchart123(){
                    
                     
                    var echart123 = echarts.init(
                        document.getElementById('echart123')
                    )
                    echart123_data.series= [
                        {
                            "name": "全选",
                            "type": "line",
                            "data": [

                            ],

                        },
                        {
                            "name": "测试1",
                            "type": "line",
                            "data": [
                                95.43757297171945,
                                4.730221933332013,
                                71.58811460422565,
                                20.648200042409947,
                                43.847631831937136,
                                6.863180801521351,
                                6.489234473492522
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试1",
                            "type": "line",
                            "data": [
                                5.5444843711831115,
                                10.906327016521988,
                                7.576656655745451,
                                3.7904978371004816,
                                4.453349938527573,
                                71.50610340114847,
                                36.699281707810314
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试2",
                            "type": "line",
                            "data": [
                                65.14227745334533,
                                45.04419008168126,
                                3.3686263974792574,
                                17.606119386236596,
                                50.8128482661665,
                                29.174517358744033,
                                71.34699216674689
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试3",
                            "type": "line",
                            "data": [
                                24.31509207042708,
                                16.36766947270194,
                                52.540225598451684,
                                2.4051506680042856,
                                66.19750456294216,
                                22.377474144393016,
                                75.62005900116147
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试4",
                            "type": "line",
                            "data": [
                                99.20604252997822,
                                45.81084592054352,
                                15.099545479247567,
                                31.045617005131042,
                                50.255500221629944,
                                30.76369171546043,
                                22.959827847204007
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试5",
                            "type": "line",
                            "data": [
                                40.465689616413236,
                                90.7892073146002,
                                35.1891617250339,
                                77.3442680245374,
                                32.38953123787161,
                                68.74319590012546,
                                16.529498587258384
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试6",
                            "type": "line",
                            "data": [
                                40.82443626425547,
                                10.158173405777182,
                                40.718842798065744,
                                45.29489287097981,
                                54.788226985687686,
                                51.58545354952375,
                                83.53903133268999
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试7",
                            "type": "line",
                            "data": [
                                58.326050849346764,
                                53.46551874311398,
                                62.011867915806796,
                                52.49673800926231,
                                3.582776409226396,
                                24.40683474765546,
                                1.5168810592971704
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试8",
                            "type": "line",
                            "data": [
                                37.89456698174607,
                                57.17106292871386,
                                99.3101007018726,
                                28.909506201019685,
                                99.3420397123222,
                                81.30625954189128,
                                28.139941696610716
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试9",
                            "type": "line",
                            "data": [
                                93.70730481047993,
                                42.60743609605162,
                                80.76193687581146,
                                5.188067937579555,
                                83.85973075166373,
                                41.358967964916225,
                                47.48341770641067
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试10",
                            "type": "line",
                            "data": [
                                60.75450833443754,
                                62.55855868234421,
                                89.69175658167914,
                                43.62400966189137,
                                33.61872267579806,
                                95.30863511615215,
                                56.07778031305393
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试11",
                            "type": "line",
                            "data": [
                                90.20764355592583,
                                11.9176085986048,
                                72.61206216924123,
                                52.081240816003806,
                                63.696773332904044,
                                31.37691570747776,
                                37.37423033136851
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试12",
                            "type": "line",
                            "data": [
                                42.657964061603046,
                                83.5931647289307,
                                47.97302195875861,
                                71.84655782131128,
                                22.142886628930736,
                                48.7596267633418,
                                99.22979746398492
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试13",
                            "type": "line",
                            "data": [
                                12.42249743542272,
                                71.78295059308368,
                                32.94306976519881,
                                78.75416474600516,
                                40.93797155738952,
                                16.74646789031733,
                                25.55553929411898
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试14",
                            "type": "line",
                            "data": [
                                67.27192138887781,
                                91.24681971965529,
                                4.017535592740229,
                                65.4311569582077,
                                98.96593469058989,
                                34.43553461641462,
                                38.20591888853606
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试15",
                            "type": "line",
                            "data": [
                                87.57318080295478,
                                27.296051569585323,
                                37.61207785108329,
                                60.38895543631333,
                                16.67750852071357,
                                30.97803589860122,
                                91.09452426482794
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试16",
                            "type": "line",
                            "data": [
                                5.464108824310676,
                                39.34549691444229,
                                13.690129402357677,
                                9.949164036319026,
                                66.52110294542565,
                                29.10382718295057,
                                41.50582005005368
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试17",
                            "type": "line",
                            "data": [
                                84.03171263038263,
                                90.15260827651956,
                                15.911672884468665,
                                29.98523128677444,
                                61.402606651288764,
                                53.76639777530314,
                                70.50667558430376
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试18",
                            "type": "line",
                            "data": [
                                95.58200582025096,
                                63.684533712459256,
                                94.22332824011399,
                                36.601663359958316,
                                23.827464155817868,
                                64.33043209316487,
                                93.50748617168438
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试19",
                            "type": "line",
                            "data": [
                                6.461374241214934,
                                25.95432687567496,
                                64.04976775163877,
                                24.675677655211658,
                                15.037676442362113,
                                43.405276084829225,
                                15.729288810234676
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试21 ",
                            "type": "line",
                            "data": [
                                54.46666237933901,
                                84.00427643905886,
                                84.5362724757823,
                                57.39367741793539,
                                58.12204919326185,
                                98.59176847426329,
                                68.28168362315357
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试22",
                            "type": "line",
                            "data": [
                                50.515566206334924,
                                94.93150546235005,
                                35.401465416205255,
                                29.97549647008304,
                                53.463013412243555,
                                93.25412711375284,
                                68.1683753101225
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试23",
                            "type": "line",
                            "data": [
                                26.843524189071367,
                                94.3024648034414,
                                21.33997098776199,
                                82.61767720314093,
                                78.54777780383971,
                                16.390981682470883,
                                91.33366389159102
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        },
                        {
                            "name": "测试24",
                            "type": "line",
                            "data": [
                                8.814499839601764,
                                77.1469143335213,
                                88.27135796132556,
                                19.201279693759155,
                                37.34712075781999,
                                61.89982820261803,
                                99.7332244522442
                            ],
                            "smooth": true,
                            "yAxisIndex": 0,
                            "showSymbol": false
                        }
                          
                    
                    ]
                    let arr=[]
                    for (let index = 0; index < echart123_data.series.length; index++) {
                        const element = echart123_data.series[index];
                        arr.push(element.name)
                        
                    }
                     
                    echart123_data.legend.data=arr
                  
                    console.log(arr);
                    // CockpitMain.GetSpaceTimeWorkOrderCounts().then((res) => {
                    //     if (res.ok) {
                    //         let result = res.data
                    //         worktrend_data.xAxis[0].data = result.xDatas
                    //         worktrend_data.series[0].data = result.yDatas
                    //     }
                             echart123.on('legendselectchanged', function (params) {
                              if (params.name == '全选') {
                                let current = params.selected['全选']
                                if(current){
                                    for (const key in params.selected) {
                                        if (Object.hasOwnProperty.call(params.selected, key)) {
                                           if(key!= '全选'){
                                             const element = params.selected[key];
                                               console.log(element, key);
                                               params.selected[key] = true
                                                 console.log(element, key);
                                           }
                                           
                                        }
                                    }
                                    // echart123.clear()
                              echart123_data.legend.selected= params.selected
                                    echart123.setOption(echart123_data);
                                }else{
                                     for (const key in params.selected) {
                                        if (Object.hasOwnProperty.call(params.selected, key)) {
                                           if (key != '全选') {
                                                const element = params.selected[key];
                                                console.log(element, key);
                                                params.selected[key] = false
                                                  console.log(element, key);
                                            }
                                        }
                                    }
                                    // echart123.clear()
                                     echart123_data.legend.selected = params.selected
                                    echart123.setOption(echart123_data);
                                }
                              }
                                
                                

                        // if (params.name == '全选') {
                        //     var selectMark = option.legend.selected['全选']   //获取图例中的全选状态,作为一个标记变量
                        //     //option为上面的Echarts对象
                        //     var data = option.legend.data
                        //     if (selectMark) {        //判断
                        //         for (var i = 0; i < data.length; i++) {
                        //             option.legend.selected[data[i]] = false
                        //         }
                        //     } else {
                        //         for (var i = 0; i < data.length; i++) {
                        //             option.legend.selected[data[i]] = true
                        //         }
                        //     }
                        //     this.setOption(option)
                        // }
                    })
                    
                    echart123.clear()
                        echart123.setOption(echart123_data);
                    // })
                    window.addEventListener('resize', () => {
                        echart123.resize()
                    })
                },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值