echart折线图扩大点击区域并获取当前点的索引及数据

通常对echats做点击事件的时候

myChart.on("click", params=>{})

问题:
折线图的情况
只有用户点击到点(对就是那个小小折线节点)的时候才能拿到返回数据或者进行下一步操作!

我们期望在鼠标随便点击的情况下,可以自动找到最近节点的数据,做一些事情,而不是去费力费眼的去找那个小小的折线节点点击

1、获取到当前节点的一些数据

tooltip: {
    trigger: 'axis',
    ...
    formatter: (params) => {
    	//tooltip的一系列操作
      ...
      // 保留数据
      this.chartsCurrentData = params[0]
    }
  },

2、在点击事件中获取索引去做一些事情

	  // 鼠标滑过时变成小手
      this.echarts.getZr().on('mousemove', param => {
          var pointInPixel= [param.offsetX, param.offsetY];
            if (this.echarts.containPixel('grid',pointInPixel)) {//若鼠标滑过区域位置在当前图表范围内 鼠标设置为小手
                this.echarts.getZr().setCursorStyle('pointer')
            }else{
              this.echarts.getZr().setCursorStyle('default')
            }
      })
      // 点击区域增大
      this.echarts.getZr().on('click',params=>{
        const pointInPixel= [params.offsetX, params.offsetY];
        if (this.echarts.containPixel('grid',pointInPixel)) {
          const { dataIndex} = this.chartsCurrentData;
          // 点击的逻辑
        }
      })
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值