echarts-自定义legend

39次阅读

共计 1469 个字符,预计需要花费 4 分钟才能阅读完成。

<!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>

正文完
 0