echarts 条形图(柱状图)多个图例按钮默认高亮一个,且只能高亮一个

核心:给图例按钮添加点击事件

myChart.on("legendselectchanged", function (params) {
        let selected = {
          功率柜: true,
          母线柜: false,
          充电桩终端: false,
          网络柜: false,
        };
        for (let key in selected) {
          if (key !== params.name) {
            myChart.setOption({
              legend: { selected: { [key]: false } },
            });
          } else {
            myChart.setOption({
              legend: { selected: { [params.name]: true } },
            });
          }
        }
      });

demo

<template>
  <div>
    <div id="main" style="width: 600px; height: 400px"></div>
  </div>
</template>
<script>
import * as echarts from "echarts";
export default {
  name: "HelloWorld",
  props: {
    msg: String,
  },
  data() {
    return {};
  },
  mounted() {
    this.aa();
  },
  methods: {
    aa() {
      // 基于准备好的dom,初始化echarts实例
      var myChart = echarts.init(document.getElementById("main"));

      // 指定图表的配置项和数据
      var option = {
        tooltip: {
          trigger: "axis",
        },

        legend: {
          data: ["功率柜", "母线柜", "充电桩终端", "网络柜"],
          selected: {
            功率柜: true,
            母线柜: false,
            充电桩终端: false,
            网络柜: false,
          },
        },
        xAxis: {
          data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
          type: "category",
        },
        yAxis: {},
        series: [
          {
            name: "功率柜",
            type: "bar",
            data: [120, 132, 101, 134, 90, 230, 210],
          },
          {
            name: "母线柜",
            type: "bar",
            data: [220, 182, 191, 234, 290, 330, 310],
          },
          {
            name: "充电桩终端",
            type: "bar",
            data: [150, 232, 201, 154, 190, 330, 410],
          },
          {
            name: "网络柜",
            type: "bar",
            data: [320, 332, 301, 334, 390, 330, 320],
          },
        ],
      };

      // 使用刚指定的配置项和数据显示图表。
      myChart.setOption(option);
      myChart.on("legendselectchanged", function (params) {
        let selected = {
          功率柜: true,
          母线柜: false,
          充电桩终端: false,
          网络柜: false,
        };
        for (let key in selected) {
          if (key !== params.name) {
            myChart.setOption({
              legend: { selected: { [key]: false } },
            });
          } else {
            myChart.setOption({
              legend: { selected: { [params.name]: true } },
            });
          }
        }
      });

    },
  },
};
</script>

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值