echarts柱状图点击事件
最近做echarts柱状图,遇到了两个个问题,此处记录一下:
点击柱状图某一个柱体,跳转页面,由于数据差异大,有的柱体很长,有的很短,短的柱体很难点击到,需要设置整个柱形区域都可以点击
页面上有两个标签,切换标签显示不同数据,是对同一个echarts进行的操作,切换标签后点击柱体,会触发多次点击事件
设置柱体的点击事件
myChart.on('click', function (params) {
let dataIndex = params.dataIndex;//柱形的下标
});
设置整条柱形所在区域的点击事件
纵向柱状图
myChart.getZr().on("click", (params) => {
const pointInPixel = [params.offsetX, params.offsetY];
if (myChart.containPixel("grid", pointInPixel)) {
let xIndex = myChart.convertFromPixel({ seriesIndex: 0 }, [
params.offsetX,
params.offsetY,
])[0];//柱形的下标 ,此处取[0]
}
});
横向柱状图
myChart.getZr().on("click", (params) => {
const pointInPixel = [params.offsetX, params.offsetY];
if (myChart.containPixel("grid", pointInPixel)) {
let yIndex = myChart.convertFromPixel({ seriesIndex: 0 }, [
params.offsetX,
params.offsetY,
])[1];//柱形的下标 ,此处取[1]
}
});
一次点击会触发多次点击事件,可以在设置click事件之前清除click事件
myChart.off('click');
或
myChart.getZr().off('click');
//此处根据设置的点击事件不同用不同的清除方法
文章讲述了在使用Echarts实现柱状图时遇到的两个问题:1)由于数据差异导致短柱体难以点击,通过设置整个柱形区域响应点击解决了这个问题。2)切换标签后点击柱体会触发多次点击事件,通过清除原有点击事件避免了这种情况。
1166

被折叠的 条评论
为什么被折叠?



