Echarts 图表添加点击事件跳转页面,但只有图表部分点击才会跳转页面,坐标轴,区域缩放等点击不跳转。

默认的点击事件是这样的:

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

这个事件需要点击具体图形才会触发,例如我上面的图,想选择a柱子,就需要明确点击到柱体才行,明显不符合正常的预期,正常预期应该是:

点击整个a柱子对应的区域都会触发点击事件,且能对应上a柱子所代表的数据

想要实现这一效果首先要监听echarts全图的点击事件,echarts有个api,但官方文档并没有写:

echartsInstance.getZr()

这个方法获取echart实例全图
然后通过监听全图的点击事件来实现区域点击:

// echart全图点击事件
myChart.getZr().on('click', function (param) {
  // 获取 点击的 触发点像素坐标
  const pointInPixel = [param.offsetX, param.offsetY]
  // 判断给定的点是否在指定的坐标系或者系列上
  if (myChart.containPixel('grid', pointInPixel)) {
    // 获取到点击的 x轴 下标  转换为逻辑坐标
    const xIndex = myChart.convertFromPixel({ seriesIndex: 0 }, pointInPixel)[0]
    console.log(xIndex)
  }
})

这里用到了一个方法:convertFromPixel,这个方法就是将像素坐标值转化为逻辑坐标值:

通过 echartsInstance.getZr() 和 convertFromPixel就可以拿到点击区域对应的数据。

既然每个区域都可以点击,那么为了更好的体验,鼠标移动图中设置一下鼠标样式:

// echart全图移入鼠标事件
myChart.getZr().on('mousemove', function (params) {
  const pointInPixel = [params.offsetX, params.offsetY]
  if (myChart.containPixel('grid', pointInPixel)) {
    // 将此区域的 鼠标样式变为 小手
    myChart.getZr().setCursorStyle('pointer')
  }
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/745802.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SolidWorks薄壁等厚实体转换成钣金方法

1. 打开SolidWorks软件,新建一个零件。选前视基准面绘制草图,二次创建凸台拉伸特征,如图所示。 2. 创建抽壳特征,厚度“2 mm”,如图所示。 3. 添加切口草图,根据钣金加工工艺在所选面上创建切口草图&#x…

SAP-SD-修改字段描述

在销售订单中,想修改某字段名的描述,以客户组12为例,如下图 现在想把这个字段修改为客户组1,选择-F1 双击“数据元素” 双击 域 转到-翻译

如何提升投资伦敦金的分析能力:回测

对伦敦金行情的分析能力,在我们做伦敦金交易的整个体系中是有很重要的作用的。但要提升对伦敦金行情的分析和把握是不太容易的,那有没有方法可以提升?那答案是有的,下面我们就来讨论一下,这个方法就是回测。 回测就是把…

Hi3861 OpenHarmony嵌入式应用入门--LiteOS semaphore作为锁

CMSIS 2.0 接口中的 Semaphore(信号量)是用于嵌入式系统中多线程或中断服务例程(ISR)之间同步和共享资源保护的重要机制。Semaphore 是一种用于控制对多个共享资源访问的同步机制。它可以被看作是一个计数器,用于跟踪可…

准备篇(三)网页相关知识

Java script小脚本 - 爬取 bilibili 表情Java script 小脚本 - 爬取 bilibili 表情 随便点开一个视频,注意这个页面 URL 对应的 HTML 代码中没有表情的代码, 需要先点一下评论区,然后再在这个页面 URL 对应的元素中找到表情所在的源码。(但是我不知道这个带表情 <pic…

STM32之三:中断外部中断

目录 1. 什么是中断 1.1 中断概念 1.2 中断优先级 1.3 中断嵌套 2.STM32中断 2.1 NVIC中断优先级 3 外部中断 3.1 EXTI简介 3.2 EXTI中断/事件线 3.3 EXTI功能框图 3.4 中断和事件的区别&#xff1f; 3.5 什么时候用外部中断&#xff1f; 3.怎么使用STM32中断 3.…

4K高清全屏壁纸免费下载网站

在当今这个视觉效果至上的时代&#xff0c;高清壁纸已经成为许多人装饰桌面的重要选择。特别是4K高清壁纸&#xff0c;以其超高的分辨率和细腻的画面质感&#xff0c;深受广大用户的喜爱。如果你正在寻找一个可靠的4K高清全屏壁纸免费下载网站&#xff0c;不妨来看看以下几个推…

瑞吉外卖问题(待更新...

文章目录 一、session注册时二、用户增加时三、RequestBody3.1 Long问题3.2 RequestBody3.3 UpdataById 四、公共填充字段五、文件上传与下载5.1 拦截器与过滤器 一、session注册时 刚开始使用的是该代码 httpServletRequest.setAttribute("employee",emp.getId());…

探索Linux的奇妙世界:第二关---Linux的基本指令(上篇)

1. xshell与服务器的连接 想必大家在看过上一期视频时已经搭建好了Linux的环境了并且已经下好了终端---xshell了吧?让我来带大家看一看下好了是什么样子的: 第一次登陆会让你连接你的服务器,就是我们买的云服务器,买完之后需要把公网地址ip复制过来进行链接,需要用户名和密码连…

操作系统入门 -- 内存管理

操作系统入门 – 内存管理 1.内存种类 1.1 虚拟内存&#xff08;VIRT&#xff09; 进程需要的虚拟内存大小&#xff0c;包括进程使用的库、代码、数据以及malloc、new分配的堆空间和栈空间等。若进程申请了10MB内存但实际使用了1MB&#xff0c;则物理空间会增长10MB。 1.2 …

红酒达人教你秘技:选酒、存酒,一招一式皆学问

在繁忙的都市生活中&#xff0c;红酒不仅仅是一种饮品&#xff0c;更是一种生活态度&#xff0c;一种品味的象征。然而&#xff0c;面对琳琅满目的红酒品牌与种类&#xff0c;如何选择一瓶心仪的红酒&#xff0c;又如何妥善保存&#xff0c;使其保持很好口感&#xff0c;成为了…

Linux上搭建邮件服务

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 &#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 Linux上搭建邮件服务 前言电子邮件的工作原理和基本组成部分1. 电子邮件的工作原理2. 电子邮件的…

天热了,喜欢游泳的朋友的好去处,气膜游泳馆—轻空间

随着夏季的到来&#xff0c;气温不断攀升&#xff0c;游泳成为许多人消暑解热的首选运动。然而&#xff0c;传统的室外游泳池受天气影响较大&#xff0c;室内游泳馆又常常人满为患。对于那些既想避开烈日&#xff0c;又想享受优质游泳体验的朋友们来说&#xff0c;气膜游泳馆无…

MySQL学习(3):SQL语句之DDL

1.SQL通用语法与分类 &#xff08;1&#xff09;通用语法 &#xff08;2&#xff09;分类 2.DDL 2.1数据库操作 show DATABASES; #查询所有数据库select DATABASE(); #查询当前数据库create DATABASE 数据库名称 [default charest 字符集] [collate 排列规则]; #default cha…

2021年03月Python三级真题+答案(中国电子学会 )

2021年03月Python三级真题 一、选择题 1.下列代码的输出结果是&#xff1f;&#xff08; D &#xff09; x 0x10 print(x) A.2 B.8 C.10 D.16 2.关于语句fopen(d:/a.txt, r)&#xff0c;下列描述不正确的是&#xff1f;&#xff08; C &#xff09; A.f是变量 B.r以…

《PyTorch计算机视觉实战》:一、二章

目录 第一章&#xff1a;人工神经网络基础 比较人工智能和传统机器学习 人工神经网络&#xff08;Artificial Neural Network&#xff0c;ANN&#xff09; 是一种受人类大脑运作方式启发而构建的监督学习算法。神经网络与人类大脑中神经元连接和激活的方式比较类似&#xff0…

从灵感到成品:使用AI生成博客文章的完整指南

在信息爆炸的时代&#xff0c;每个人都有讲述自己故事的权利和需求。博客作为一种表达方式&#xff0c;不仅能记录个人经历&#xff0c;还能分享知识和观点。然而&#xff0c;许多人在写博客文章时&#xff0c;常常会遇到灵感枯竭、时间不够用或者不知道如何开始等问题。幸运的…

‘pip‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

&#x1f4da;博客主页&#xff1a;knighthood2001 ✨公众号&#xff1a;认知up吧 &#xff08;目前正在带领大家一起提升认知&#xff0c;感兴趣可以来围观一下&#xff09; &#x1f383;知识星球&#xff1a;【认知up吧|成长|副业】介绍 ❤️如遇文章付费&#xff0c;可先看…

什么是CMSIS || 标准库与HAL库

一&#xff0c;ARM&#xff08;Cortex Microcontroller Software Interface Standard&#xff09; ARM Cortex™ 微控制器软件接口标准&#xff08;Cortex Microcontroller Software Interface Standard&#xff09;是 CortexM 处理器系列的与供应商无关的硬件抽象层。…

Qt 学习(一) addressbook

Qt Demo: addressbook (1)创建项目&#xff1a;选择不创建界面&#xff0c;即UI&#xff0c;此时会自动生成的文件如图所示&#xff1a; QApplication&#xff1a; MainWindow 继承自 QMainWindow&#xff0c;根据需要设计的界面样式。 (2)确定MainWindow 的成员变量 首先&…