解决echarts的柱状图、折线图点击非图表图形元素不会触发click事件

需求说明:echarts的click事件,只当点击到图形元素是才会触发,对于当一组数据最大值和最小值相差较大时,数值较小的图形元素太小不好点击触发,现在我需要点击事件来获得点击事件的params的data数据,即series中传入的原始数据项data内的某条记录。如何通过点击空白区域也能触发获取到数据。

解决思路:

1)使用getZr()添加图表的整个canvas区域的点击事件,并获取params携带的信息;

2)获取到鼠标点击位置;

var pointInPixel= [params.offsetX, params.offsetY];

3)过滤了绘制图形的网格外的点击事件,比如X、Y轴lable、空白位置等的点击事件,我们只需要图表区域的点击事件;

myChart.containPixel('grid',pointInPixel)

4)获取点击位置对应的x轴数据的索引值,以便我们通过索引值来获得对应的data数据。

var xIndex=myChart.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0];

5)获取myChart的series,并根据索引值获取data;

opti
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值