echarts——折线图点击线触发函数getZr()——技能提升

news2024/10/5 12:49:52

今天看到技术群里在讨论echarts中的折线图,有人遇到一个功能就是点击折线要触发点击事件,但是官网上的click点击事件只针对折线的拐点。
在这里插入图片描述

但是有人提出是可以通过getZr()方法来实现

网上也确实有大神提出一样的解决方法,链接如下:

Echarts 折线图点击折线区域(包含圆点)触发事件:http://t.csdn.cn/eVstn

下面把代码贴出来:

option = {
    tooltip: {
        trigger: 'axis'
    },
    legend: {
        data: ['邮件营销', '联盟广告']
    },
    xAxis: {
        type: 'category',
        boundaryGap: false,
        data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    },
    yAxis: {
        type: 'value'
    },
    series: [
        {
            name: '邮件营销',
            type: 'line',
            stack: '总量',
            data: [120, 132, 101, 134, 90, 230, 210]
        },
        {
            name: '联盟广告',
            type: 'line',
            stack: '总量',
            data: [220, 182, 191, 234, 290, 330, 310]
        },
    ]
};
myChart.getZr().on('click', function(params) {
  // 获取像素坐标点
  const pointInPixel = [params.offsetX, params.offsetY]
  const { target, topTarget } = params
  // 判断点击的点在  点击在折线的拐点 || 折线上
  if (target?.z === 2 || topTarget?.z === 2) {
  // 获取这条折线的 信息 也就是 index
  // 如果是拐点,直接读取 target.seriesIndex
  // 如果是折线上的点,读取 topTarget 对象下的继续寻找parent的信息的index
    const axs = target
      ? target.seriesIndex
      : topTarget.parent?.parent?.__ecComponentInfo?.index
    console.log(axs)
  }
})
// 将可以响应点击事件的范围内,鼠标样式设为pointer--------------------
myChart.getZr().on('mousemove', function(params) {
  const { topTarget } = params
  // 给折线的鼠标悬浮 变为 小手
  if (topTarget?.z === 2) {
    myChart.getZr().setCursorStyle('pointer')
  }
})

先记录一下,以后遇到同样的问题可以直接参考,完成!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

属鸡的脾气性格怎么样?

有的人认为属鸡的人脾气暴躁,而有的认为属鸡的人性格温和, 其实属鸡的人都有两面性,对好人善良温情,对坏人则腹黑邪恶,是不是很惊讶?古人认为鸡有预报能力,此种预言能力在鸡年生的人身上也会出现…

Stable Diffusion 使用outpainting扩展图像

通常SD可以应用绘制的图像是固定分辨率的,但是如果想要超出这个分辨率的话那就要使用一些方法,并且如果还想保持这些图片的连贯性,例如背景就要使用到outpainting。 文章目录 操作流程准备图像 操作流程 准备图像 首先将需要扩展边缘的图像…

能查看历史记录的好用的笔记app是哪款?

当我回顾自己经常做笔记的习惯时,我发现一个问题困扰着我:如何方便地查看和管理历史记录?因为对于我这样一个频繁记录学习和工作笔记的人来说,回顾过去的记录是一种宝贵的学习和反思机会。能查看历史记录的好用的笔记app是哪款&am…

Junit基本使用

文章目录 0. 了解Junit51. 注解2. 断言3. 用例执行顺序4. 测试套件(Suite)5.参数化 0. 了解Junit5 Java版本最低要求为8。Junit是一个开源的java语言的单元测试框架。java方向使用最广泛的单元测试框架。使用java开发者都应当学习Junit并且掌握单元测试…

CDH 之 Sentry 安装失败 Unable to find the MySQL JDBC driver

安装报错如下: 详细日志: Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driverat com.cloudera.cmf.service.hive.HiveMetastoreDbUtil.countTables(HiveMetastoreDbUtil.java…

stm32GPIO点亮led的小发现

偶然发现点亮led的小困惑,现在解决了。我们知道stm32中,GPIO端口的内部一般是接高电平(3.3v),其外部就是我们肉眼所看到的PA1等标号。 1、写法一 led的正极接3.3v,这样当A1引脚输出低电平0(即GPIO_ResetBi…

vs中编译时出现error LNK1104: 无法打开文件*.exe

因为此时有一个VS工程在运行了,将其关闭就可以了。 参考:vs中编译时出现error LNK1104: 无法打开文件*.exe

云原生|kubernetes|centos7下的kubeadm部署的集群内在线部署kubesphere(外部etcd)

前言: 本文将主要就在centos7操作系统下已有的一个利用kubeadm部署的集群内在线安装kubesphere做一个介绍,该kubernetes集群是使用的etcd外部集群。 kubernetes集群的搭建本文不做过多介绍,具体的搭建流程见我的博客: 云原生|k…

卷积层|Convolution|知识补充

CNN中增加了Convolution层和Pooling层; CNN中层的连接顺序是“Convolution-ReLu-Pooling”。 全连接层存在的问题: 数据的形状被“忽视”了,比如,输入的数据是一个三维的图像信息,但是在向全连接层输入时,…

【样式 支付下单 弹窗】静态页面,订单结算,确认支付,付款,收款方式

效果图展示 uview 2.0 uniapp <template><view class""><u-popup :show"show" close"close" :round"10" closeable :closeOnClickOverlayfalse><view class"pop"><view class"title&q…

CB2401与RFX2401C的兼容区别对比

PIN TO PIN直接兼容RFX2401C的单片射频收发芯片&#xff0c;可支持BT、BLE、ZIGBEE、ISM 2.4G非标协议。CB2401架构集成了 PA、LNA、发送和接收开关电路&#xff0c;输出功率和通信频道可以通过程序进行配置。 由于该芯片有非常优越的性能&#xff0c;高灵敏度和效率&#xff0…

智能饮品机器人来跨界,点赋科技实现交叉经营

近年来&#xff0c;随着科技的不断进步&#xff0c;智能机器人在各个领域得到了广泛应用。其中&#xff0c;智能饮品机器人成为了一个备受关注的创新点。点赋科技通过将机器人技术和饮品业务相结合&#xff0c;实现了跨界交叉经营&#xff0c;给消费者带来了全新的体验。 传统的…

Elasticsearch:使用 Elasticsearch 矢量搜索和 FastAPI 构建文本搜索应用程序

在我的文章 “Elastic&#xff1a;开发者上手指南” 的 “NLP - 自然语言处理及矢量搜索”&#xff0c;我对 Elastic Stack 所提供的矢量搜索有大量的描述。其中很多的方法需要使用到 huggingface.co 及 Elastic 的机器学习。这个对于许多的开发者来说&#xff0c;意味着付费使…

360手机 360手机刷机最高安卓版本参考

360手机 360手机刷机最高安卓版本参考 参考&#xff1a;360手机-360刷机360刷机包twrp、root 360刷机包360手机刷机&#xff1a;360rom.github.io 【360手机(最高)安卓版本】 以下列举为常见360手机机型&#xff1b;其它早期系列&#xff0c;一般为Android4-6左右360手机UI界…

AutoHotKey面向对象编程

文章目录 **初步认识**类和继承枚举属性和For循环数组和映射 初步认识 在AHK中&#xff0c;对象就是一种内部封装了属性和方法的变量&#xff0c;而和常见的面向对象编程语言不同的是&#xff0c;这里面的属性和方法是可以动态添加的。下面举一个最简单的例子 person : {} …

vi/vim 如何在PowerShell里粘贴内容

vi/vim 如何在PowerShell里粘贴内容 Shift 鼠标右键 Vi/Vim 有两种主要的模式&#xff1a;命令模式和插入模式。 要进入命令模式&#xff0c;只需按下英文输入状态下的冒号&#xff08;:&#xff09;键。一旦进入命令模式&#xff0c;您可以在底部的命令行中输入各种命令。例…

【实战】爬虫风险业务防控 | 国际航班上,小“票代”在疯狂倒卖高价票

目录 乘坐国际航班&#xff0c;躲不开的“票代” 小“票代”的网络爬虫与高价票 某公司国际航班遭遇大量爬虫攻击 基于爬虫风险的分析与防控建议 顶象防御云业务安全情报中心监测发现&#xff0c;某航空国际航班&#xff0c;遭遇恶意网络爬虫的持续攻击。高峰时期&#xff…

C#Winform抽屉式导航栏实例讲解

Winform在UI界面设计时不如WPF灵活,如实现抽屉式导航栏功能不是很容易。 本文讲解如何采用简单代码量较少的实现该功能。 先上效果: 项目过程: 首先创建winform项目 在项目中添加对应的控件,控件列表如下: 代码如下: using System; using System.Collections.Gen…

【openeuler】openEuler kernel 技术分享 - 第2期 - 从ARM和RISC-V架构看体系结构对Linux操作

openEuler kernel 技术分享 - 第2期 - 从ARM和RISC-V架构看体系结构对Linux操作系统的支持_哔哩哔哩_bilibili The RISC-V Reader: An Open Architecture Atlas http://riscvbook.com/chinese/RISC-V-Reader-Chinese-v2p1.pdf

深入浅出设计模式 - 状态模式

博主介绍&#xff1a; ✌博主从事应用安全和大数据领域&#xff0c;有8年研发经验&#xff0c;5年面试官经验&#xff0c;Java技术专家✌ Java知识图谱点击链接&#xff1a;体系化学习Java&#xff08;Java面试专题&#xff09; &#x1f495;&#x1f495; 感兴趣的同学可以收…