在使用echarts插件时,在图形中需要使用点击事件时,由于数据差别很大,echarts.on(‘click’,function(){})的方式获取参数点击困难。如下所示:
解决方法如下:
let myChartDrawer = echarts.init(document.getElementById('broad'))
.
.
.
.
.
.
myChartDrawer.getZr().on('click',params=>{
const pointInPixel= [params.offsetX, params.offsetY];
if (myChartDrawer.containPixel('grid',pointInPixel)) {
let xIndex=myChartDrawer.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0];
//获取的xIndex值为点击的图形的索引值,通过该值即可获取参数做操作
//[params.offsetX, params.offsetY])[0];最后的数组小标[0]获取的是echarts图形纵向展示的索引,[1]获取的是echarts图形横向展示的图形的索引值。
}
});
//鼠标移入图形区域,变成可点击的小手事件
myChartDrawer.getZr().on('mousemove',function (params) {
var pointInPixel= [params.offsetX, params.offsetY];
if (myChartDrawer.containPixel('grid',pointInPixel)) {
myChartDrawer.getZr().setCursorStyle('pointer');
};
});