【Echarts】柱状图

编程入门 行业动态 更新时间:2024-10-26 07:35:13

【Echarts】<a href=https://www.elefans.com/category/jswz/34/1767203.html style=柱状图"/>

【Echarts】柱状图

开发过程中,我们经常会碰到这样的需求:在柱状图上,点击某条柱形,调用相应的方法或跳转相应的界面接下来就详细介绍如何实现柱状图的点击事件,其中myChart是绘图对象

 

一、简单的点击事件

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

这样就可以获得每条柱形所对应的数据

若需要在每条柱形上添加额外的属性,比如id等等,可以在series中,通过对象去定义,其中value是柱形的值

seriesData: [{value: 1, id:'...'}, {value: 2, id:'...'}, ......]

这个id同样可以在上面的点击事件的params中获取到

注意:此方法虽实现了点击,但是只限于点击柱形中有数据的部分,而对于没有数据的区域,点击无效,如下图

 

若要实现点击整条柱形区域都有效,如下图,请看第二个方法

二、整条柱形的点击事件

myChart.getZr().on('click', params => {let pointInPixel = [params.offsetX, params.offsetY]if (myChart.containPixel('grid', pointInPixel)) {//点击第几个柱子let pointInGrid = myChart.convertFromPixel({ seriesIndex: 0 }, pointInPixel)// console.log(pointInGrid)// 也可以通过params.offsetY 来判断鼠标点击的位置是否是图表展示区里面的位置// 也可以通过name[xIndex] != undefined,name是x轴的坐标名称来判断是否还是点击的图表里面的内容// x轴数据的索引let xIndex = pointInGrid[0]// y轴数据的索引let yIndex = pointInGrid[1]var a = dataAxis[yIndex];}})

其中,getZr()方法可以监听到整个画布的点击事件,xIndex是被点击的柱形的index

若要实现获取id的效果,则需要拿到series的数组,再通过index拿到对应的数据对象

三、答疑

3.1 getZr()方法在哪里定义?

答:echarts的内置函数

更多推荐

【Echarts】柱状图

本文发布于:2024-02-06 16:55:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1750451.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:柱状图   Echarts

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!