Echarts给图表添加点击事件

需要在图表的渲染方法的setOption()后面添加事件

  1. 给图表的item添加点击事件
myChart.setOption(option,true);
myChart.on('click', function (param) {
    /*param参数包含的内容有:
    //param.name:X轴的值
    //param.data:Y轴的值
    //param.value:Y轴的值
    //param.type:点击事件均为click
    //param.seriesName:legend的名称
    //param.seriesIndex:系列序号(series中当前图形是第几个图形第几个)
    //param.dataIndex:数值序列(X轴上当前点是第几个点)
    //alert(param.seriesName);  //legend的名称
    // alert(param.name);  //X轴的值
    // alert(option.series[param.seriesIndex].barIds[param.dataIndex]);//获取自定义的值
    */
    _this.normalTime = param.name;
}
           
  1. 给整个图表添加点击事件

    myChart.getZr()函数获取的是整个画布对象

myChart.getZr().on('click', function (param) {
    const pointInPixel = [param.offsetX, param.offsetY]
    // 使用 convertFromPixel方法 转换像素坐标值到逻辑坐标系上的点。获取点击位置对应的x轴数据的索引		 值,借助于索引值的获取到其它的信息
    let pointInGrid = myChart.convertFromPixel({ seriesIndex: 0 }, pointInPixel);
    // x轴数据的索引值
    let xIndex = pointInGrid[0];
    // 使用getOption() 获取图表的option
    let op = myChart.getOption();
    //获取到x轴的索引值和option之后,我们就可以获取我们需要的任意数据。
    var time = op.xAxis[0].data[xIndex];
    var value = op.series[0].data[xIndex];
});
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值