给Echarts添加点击事件

2 篇文章 0 订阅

给Echarts添加点击事件

需求: 给Echarts添加点击事件让柱状图和x轴标签添加点击事件
项目用到了echarts图进行数据展示,但是echarts图只有展示,不够完整,所以需求就要我们添加点击事件

首先加载echarts图,我们已经获取到了图的对象mychart,对此对象进行获取点击事件,这样写:
echarts点击事件里面默认是有一个返回值的,它是一个json对象,里面有很多参数:

myChart.on('click', function (params) {
    console.log(params);
    console.log(params.dataIndex);   //获取点击柱状图的第几个柱子 是从0开始的哦
});

这样就点击柱状图就可以了,但是需求又提出要点击x轴的文本标签事件也需要;那只好再继续添加,最终寻找到一种解决方案:是在xAxis这个集合里面添加参数(triggerEvent):

xAxis : [{
    type : 'category',
    data : ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
    triggerEvent:true   //让x轴可以点击
}],

在这里插入图片描述
这样x轴就可以点击了,但是我们是做功能,所以我们得需要一个参数来帮助我们获取对应得信息,但是echarts这里没有提供存储id参数得位置,只能在外边添加一个数组:(为什么添加一个数组就可以呢,因为我点击柱子和文本的时候是可以获取第一个,进而把第几个演变为数组的下标就可以找到对应的id了呀,因为都是从0开始的,如果从1开始的也不怕是吧!!!)

var ids = [55,66,85,86,55,544,5,6,8,4,88,89];
//这样就可以获取到点击柱子或者文本标签对应的id了
myChart.on('click', function (params) {
    if(params.componentType =="xAxis"){ 
        alert("单击了"+params.value+"x轴标签, 你点击的是第"+(Number(params.event.target.anid.split("_")[1])+1)+"个X标签;当前对应的id为:"+ids[params.event.target.anid.split("_")[1]]);
    }else{ 
        alert("单击了"+params.name+"柱状图, 你点击的是第"+(params.dataIndex+1)+"个柱状图;当前对应的id为:"+ids[params.dataIndex]);   //数组下标是从0开始的哦,图也是从0开始的
    } 
}); 

转发连接:https://zhuanlan.zhihu.com/p/33050579

要给 ECharts 地图散点添加点击事件,可以使用 ECharts 提供的事件处理函数。下面是一个简单的示例代码,演示了如何在地图上添加散点并为散点添加点击事件: ```javascript // 初始化echarts实例 var myChart = echarts.init(document.getElementById('main')); // 定义散点数据 var data = [ {name: '北京', value: [116.46, 39.92]}, {name: '上海', value: [121.48, 31.22]}, {name: '杭州', value: [120.19, 30.26]}, //... ]; // 定义地图配置 var option = { tooltip: {}, geo: { map: 'china' }, series: [{ name: '散点', type: 'scatter', coordinateSystem: 'geo', data: data, symbolSize: 10, label: { normal: { show: true, formatter: '{b}', position: 'right' } }, itemStyle: { normal: { color: '#F06C00' } } }] }; // 绑定点击事件 myChart.on('click', function (params) { if (params.componentType === 'series' && params.seriesType === 'scatter') { // 点击了散点,可以在这里添加你的逻辑 console.log('clicked', params.name); } }); // 渲染地图 myChart.setOption(option); ``` 在上面的代码中,我们先定义了一个 data 数组,其中包含了一些城市的经纬度信息。然后定义了一个地图的配置对象,其中包含了一个散点图的系列,用于显示这些城市的位置。接着使用 `on` 方法绑定了一个点击事件,当用户点击散点时,会触发这个事件,我们可以在事件处理函数里添加自己的逻辑。 需要注意的是,散点图的系列类型是 `scatter`,地图投影方式是 `geo`,事件类型是 `click`。同时,由于 ECharts 可以支持多个系列,多个坐标系,因此在事件处理函数里需要判断用户点击的是哪个系列,以及系列的类型是什么。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值