1

通过 echartslegendselected 事件实现。
还有其他的一些事件,如果遇到通过配置项解决不了的需求,可以查API , 看看是否可以解决

代码

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>ECharts</title>
    <!-- 引入 echarts.js -->
    <script src="https://www.echartsjs.com/examples/vendors/echarts/echarts.min.js"></script>
  </head>
  <body>
    <div style="position: relative; width: 600px;height:400px;">
      <!-- 为ECharts准备一个具备大小(宽高)的Dom -->

      <div style="position: absolute; left: 50%; transform: translateX(-50%);z-index: 10;">
        <button
          style="height: 28px;"
          onclick="onLegendClick('邮件营销')"
        >
          邮件营销
        </button>
        <button
          style="height: 28px;"
          onclick="onLegendClick('联盟广告')"
        >
          联盟广告
        </button>

      </div>

      <div id="main" style="width: 100%;height: 100%"></div>
    </div>
    <script type="text/javascript">
      // 基于准备好的dom,初始化echarts实例
      var myChart = echarts.init(document.getElementById("main"));

      // 指定图表的配置项和数据
      var option = {
        title: {
          text: "折线图堆叠"
        },
        tooltip: {
          trigger: "axis"
        },
        legend: {
          show: false,
        },
        grid: {
          left: "3%",
          right: "4%",
          bottom: "3%",
          containLabel: true
        },
        xAxis: {
          type: "category",
          boundaryGap: false,
          data: ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
        },
        yAxis: {
          type: "value"
        },
        series: [
          {
            name: "邮件营销",
            type: "line",
            stack: "总量",
            data: [120, 132, 101, 134, 90, 230, 210]
          },
          {
            name: "联盟广告",
            type: "line",
            stack: "总量",
            data: [220, 182, 191, 234, 290, 330, 310]
          },
          {
            name: "视频广告",
            type: "line",
            stack: "总量",
            data: [150, 232, 201, 154, 190, 330, 410]
          },
          {
            name: "直接访问",
            type: "line",
            stack: "总量",
            data: [320, 332, 301, 334, 390, 330, 320]
          },
          {
            name: "搜索引擎",
            type: "line",
            stack: "总量",
            data: [820, 932, 901, 934, 1290, 1330, 1320]
          }
        ]
      };

      // 使用刚指定的配置项和数据显示图表。
      myChart.setOption(option);

      var onLegendClick = function(name) {
        myChart.dispatchAction({
          type: "legendToggleSelect",
          // 图例名称
          name: name,
        });
      };
    </script>
  </body>
</html>

效果

image.png


NsNe
1.7k 声望38 粉丝

善良,学习,拼搏。不忘初心,方得始终。


引用和评论

0 条评论