как отменить выбор всех легенд, кроме другой, которая не должна быть выбрана в echarts - PullRequest
1 голос
/ 11 февраля 2020

вот код:

const _this = this;
    const legendList = new Array();
    legendList.push("邮件营销", "联盟广告", "视频广告", "直接访问", "搜索引擎")
    this.option = {
      title: {
        text: "堆叠区域图"
      },
      tooltip: {
        trigger: "axis",
        axisPointer: {
          type: "cross",
          label: {
            backgroundColor: "#6a7985"
          }
        },
        formatter: function(param: any) {
          let res = param[0].name + "<br/>";

          for (let x = 0; x < param.length; x++) {
            res += _this.uploadIcon + ' ' + param[x].seriesName + ': ' + Math.abs(param[x].data) + '<br/>'
          }
          return res;
        }
      },
      legend: {
        data: legendList,
        selected: {
          '搜索引擎': false
        }
      },
      toolbox: {
        feature: {
          saveAsImage: {}
        }
      },
      grid: {
        left: "3%",
        right: "4%",
        bottom: "3%",
        containLabel: true
      },
      xAxis: [
        {
          type: "category",
          boundaryGap: false,
          data: ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
        }
      ],
      yAxis: [
        {
          type: "value"
        }
      ],
      series: [
        {
          name: "邮件营销",
          type: "line",
          stack: "总量",
          areaStyle: {},
          data: [120, 132, 101, 134, 90, 230, 210]
        },
        {
          name: "联盟广告",
          type: "line",
          stack: "总量",
          areaStyle: {},
          data: [220, 182, 191, 234, 290, 330, 310]
        },
        {
          name: "视频广告",
          type: "line",
          stack: "总量",
          areaStyle: {},
          data: [150, 232, 201, 154, 190, 330, 410]
        },
        {
          name: "直接访问",
          type: "line",
          stack: "总量",
          areaStyle: {},
          data: [320, 332, 301, 334, 390, 330, 320]
        },
        {
          name: "搜索引擎",
          type: "line",
          stack: "总量",
          label: {
            normal: {
              show: true,
              position: "top"
            }
          },
          areaStyle: {},
          data: [820, 932, 901, 934, 1290, 1330, 1320]
        }
      ]
    };

как отменить выбор всех легенд, кроме 搜索引擎 динамически. если есть новая легенда, она автоматически отключается. Например, есть новая легенда, которая Server, тогда она автоматически выберет c, когда добавит.

вот код стекаблика: https://stackblitz.com/edit/angular-ngx-echarts-c3qqyg?file=src / app / app.component.ts

1 Ответ

0 голосов
/ 11 февраля 2020

вам нужно передать все элементы выбранному свойству {}, если вы хотите сделать его динамическим c, потому что по умолчанию он выберет все легенды.

 selected: {
  "搜索引擎": true,
  "邮件营销": false,
  "联盟广告": false, 
  "视频广告": false,
  "直接访问": false 
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...