【转】ECharts3.x中的点击事件与行为

在ECharts中主要通过 on 方法添加事件处理函数,ECharts中的事件主要分为两种,1)鼠标事件,在鼠标click  or  hove 时触发鼠标事件; 2)另外一种是在ECharts在做图形交互时触发的事件,即调用 dispatchAction  后触发的事件。

鼠标事件:'click','dblclick','mousedown','mouseup','mouseover','mouseout','globalout'

 

myChart.on('click', function (params) {
    console.log(params);
});

 

事件触发的参数为对象数据的各个属性,列出部分主要的属性:

{
    // 当前点击的图形元素所属的组件名称,
    // 其值如 'series'、'markLine'、'markPoint'、'timeLine' 等。
    componentType: string,
    // 系列类型。值可能为:'line'、'bar'、'pie' 等。当 componentType 为 'series' 时有意义。
    seriesType: string,
    // 系列在传入的 option.series 中的 index。当 componentType 为 'series' 时有意义。
    seriesIndex: number,
    // 系列名称。当 componentType 为 'series' 时有意义。
    seriesName: string,
    // 数据名,类目名
    name: string,
    // 数据在传入的 data 数组中的 index
    dataIndex: number,
    // 传入的原始数据项
    data: Object,
    // sankey、graph 等图表同时含有 nodeData 和 edgeData 两种 data,
    // dataType 的值会是 'node' 或者 'edge',表示当前点击在 node 还是 edge 上。
    // 其他大部分图表中只有一种 data,dataType 无意义。
    dataType: string,
    // 传入的数据值
    value: number|Array
    // 数据图形的颜色。当 componentType 为 'series' 时有意义。
    color: string
}

上面的点击事件参数,只是列出部分,不同的事件也有一些额外附加参数。

可以通过jq 的遍历查看他的参数属性

$.each(params, function(k,v){  console.log( 'k='+k+':v=' + v)  });


图例交互事件:

1) legendselectchanged : 切换图例选中状态后的事件 (注:图例组件用户切换图例开关会触发该事件,不管你有没有选择,点击了就触发)

2)legendselected:例组件用legendSelect 图例选中后的事件,即点击显示该图例时,触发就生效。

3)legendunselected: legendUnSelect 图例取消选中后的事件。

4)datazoom:数据区域缩放后的事件。缩放视觉映射组件。

5)datarangeselected:selectDataRange 视觉映射组件中,range 值改变后触发的事件。

6)timelinechanged:timelineChange 时间轴中的时间点改变后的事件。

7)timelineplaychanged:timelinePlayChange 时间轴中播放状态的切换事件。

8)restore: restore 重置 option 事件。

9)dataviewchanged:工具栏中数据视图的修改事件。

10)magictypechanged:工具栏中动态类型切换的切换事件。

11)geoselectchanged:geo 中地图区域切换选中状态的事件(用户点击选中会触发该事件。)。

12)geoselected:geo 中地图区域选中后的事件(使用geoselectchanged))。

13)geounselected:geo 中地图区域取消选中后的事件,使用geoselectchanged)。

14)pieselectchanged:series-pie 中饼图扇形切换选中状态的事件,用户点击选中会触发该事件。

15)pieselected:series-pie 中饼图扇形选中后的事件,使用pieselectchanged)。

16)pieunselected:series-pie 中饼图扇形取消选中后的事件,使用pieselectchanged)。

17)mapselectchanged: series-map 中地图区域切换选中状态的事件,用户点击选中会触发该事件。

18)mapselected:series-map 中地图区域选中后的事件,使用mapselectchanged)

19)mapunselected:series-map 中地图区域取消选中后的事件,使用mapselectchanged)。

20)axisareaselected:平行坐标轴 (Parallel) 范围选取事件,

当进行坐标轴范围选取时,可以用如下方式获取当前高亮的线所对应的 data indices (即 data 中的序号列表)。

 

 

chart.on('axisareaselected', function () {
    var series1 = chart.getModel().getSeries()[0];
    var series2 = chart.getModel().getSeries()[0];
    var indices1 = series1.getRawIndicesByActiveState('active');
    var indices2 = series2.getRawIndicesByActiveState('active');
    console.log(indices1);
    console.log(indices2);
});

 

 

// 数据区域缩放后事件
myChart.on('datazoom', function (params) {
    var opt = myChart.getOption();
    var dz = opt.dataZoom[0];
    var tstart = opt.xAxis[0].data[dz.startValue];
    var tend = opt.xAxis[0].data[dz.endValue];
    console.log("S=" + tstart);
    console.log("E=" + tend);
});

 

// 重置事件
myChart.on('restore', function (params) {
    console.log("restore");
});

 

原文出处: http://blog.csdn.net/a82793510/article/details/51756272

 

posted @ 2017-11-20 10:45  我爱我家喵喵  阅读(6513)  评论(0编辑  收藏  举报