echarts-legend-自定义图例的图标,未激活图例置灰

本文介绍了如何使用echarts库实现图例自定义图标,并在图例未被选中时将其置灰。通过设置legend组件的data属性为每个图例指定图标,同时监听legendselectchanged事件来实现图例状态的改变。
摘要由CSDN通过智能技术生成

echarts 图例自定义图标,未激活图标置灰

实现的效果图
在这里插入图片描述
在这里插入图片描述

  1. 通过legend中的data来为每一个图列设置icon,
option={
    
		//...
		legend:{
    
			itemHeight:'图标的高',
			itemWidth:'图标的宽',
			data:[{
    name:'图例1',icon:'图标1'},...]
		}
		//...
	}
  1. 监听legendselectchanged 事件
    // data是http://echarts.baidu.com/examples/editor.html?c=pie-legend 例子中的data
    myChart.on('legendselectchanged', function (params) {
    

      let {
    selected,name} = params
      let theOption = data.legendData.find(dt => dt.name === name)
    
      // iconActive 选中的图标 
      // iconUnActive 没有选中的图标
      theOption.icon = selected[name] ? iconActive : iconUnActive
      // 更新图列
      myChart.setOption({
    
        legend: {
     data: data.legendData }
      })
    })
  1. 然后就ojbk 了

完整的代码

<!DOCTYPE html>
<html style="height: 100%">

<head>
  <meta charset="utf-8">
</head>

<body style="height: 100%; margin: 0">
  <div id="container" style="height: 100%"></div>
  <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>
  <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts-gl/echarts-gl.min.js"></script>
  <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts-stat/ecStat.min.js"></script>
  <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/extension/dataTool.min.js"></script>
  <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/map/js/china.js"></script>
  <script type=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值