在vue中Antv G2 折线图如何添加点击事件获取折线上点的值

这篇具有很好参考价值的文章主要介绍了在vue中Antv G2 折线图如何添加点击事件获取折线上点的值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在vue中Antv G2 折线图如何添加点击事件获取折线上点的值,vue.js,javascript,前端

 

在项目中有个需求是点击折线图的点,获取当前点的信息,其它图形都可以参考相关的API获取到,但area做的折线图怎么都获取不到点击的信息,只能获取全部的信息,最终解决如下:文章来源地址https://www.toymoban.com/news/detail-643053.html

实现思路

  1. 用户的鼠标在折线图上移动时,监听tooltip的变化,通过一个变量记录tooltip的当前值。
    对应的事件名称:tooltip:change
  2. 利用G2提供的组合事件,监听折线图的绘图区被 click 的时候。此时,拿到tooltip的当前值做任意你需要的操作即可。
    对应的事件名称:plot:click
import { Chart } from '@antv/g2';

const data = [
  { year: '1991', value: 3 },
  { year: '1992', value: 4 },
  { year: '1993', value: 3.5 },
  { year: '1994', value: 5 },
  { year: '1995', value: 4.9 },
  { year: '1996', value: 6 },
  { year: '1997', value: 7 },
  { year: '1998', value: 9 },
  { year: '1999', value: 13 },
];
const chart = new Chart({
  container: 'container',
  autoFit: true,
  height: 500,
});

let hoverData = {}; // new Add -- 如果是在vue中使用,把该变量定义在data中即可

chart.data(data);
chart.scale({
  year: {
    range: [0, 1],
  },
  value: {
    min: 0,
    nice: true,
  },
});

chart.tooltip({
  showCrosshairs: true, // 展示 Tooltip 辅助线
  shared: true,
});

chart.line().position('year*value').label('value');
chart.point().position('year*value');

// new Add -- 监听 tooltip:change 事件
chart.on('tooltip:change', ev => {
  // 自己可以在控制台打印一下ev,看下里面的结构,找到自己所需要的信息
  hoverData = ev.data.items[0].data;
})

// new Add -- 监听绘图区plot的点击事件
chart.on('plot:click', ev => {
  // 当用户在画布上点击时,这个时候用户看到tooltip上的数据其实已经被存在了hoverData里。拿到hoverData,相当于你拿到了折线上相关点的数据,之后再有什么需求都可以实现啦!
  console.log(JSON.stringify(hoverData));
})

chart.render();

到了这里,关于在vue中Antv G2 折线图如何添加点击事件获取折线上点的值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue2.x-echarts公共组件封装--简易篇(3d柱状图,炫酷仪表盘,折线,曲线图)

    更新一下之前写的echarts简单图表公共组件的封装,该组件可以实现自适应展示效果 废话不多说,上代码: vue-echarts通用组件 下面的一个混入文件是用来实现,窗口改变echarts自适应的js文件: 接下来是debounce.js 下面直接上代码:父组件调用+展示效果 截图: 下面是一个仪表盘

    2023年04月13日
    浏览(72)
  • echarts的tooltip添加点击事件

    效果如下  代码如下  代码如下

    2024年02月16日
    浏览(34)
  • element ui table某个单元格添加点击事件

    1.创建表格 el-table ref=\\\"multipleTable\\\" :data=\\\"tableData\\\" border el-table-column fixed type=\\\"selection\\\" align=\\\"center\\\"/el-table-column div v-for=\\\"(item,index) in columns\\\" :key=\\\"index\\\" el-table-column :prop=\\\"item.prop\\\" :label=\\\"item.label\\\" :formatter=\\\"item.formatter\\\" align=\\\"center\\\" show-overflow-tooltip /el-table-column /div /el-table 2.创建表头+事件 

    2024年02月17日
    浏览(44)
  • Echarts 折线图实现一条折线显示不同颜色

    在echarts中,如果想要实现折线图前半部分为蓝色,后半部分为红色,怎么处理呢? 这里介绍一种方法,通过markLine图表标线搭配visualMap觉映射组件配合实现,具体代码如下:

    2024年02月16日
    浏览(67)
  • Unity3D-场景中3D物体添加点击事件

    Unity3D - 场景中3D物体添加鼠标点击事件 鼠标点击3D物体触发,Unity从本质上来说有两种:一种是通过事件(event)触发,一种是通过射线(ray)判断穿过的物体触发。这两种触发的原理是不同的,不论哪种触发都必须满足触发的要求才可以,既然原理不同,触发的要求也不一样

    2024年02月08日
    浏览(87)
  • Unity 编辑器-创建模板脚本,并自动绑定属性,添加点击事件

    当使用框架开发时,Prefab挂载的很多脚本都有固定的格式。从Unity的基础模板创建cs文件,再修改到应有的模板,会浪费一些时间。尤其是有大量的不同界面时,每个都改一遍,浪费时间不说,还有可能遗漏或错改。写个脚本创建指定的模板代替C#基础模板。 注:当前脚本使用

    2024年02月13日
    浏览(63)
  • 【JS】动态添加的元素绑定点击事件在移动端不生效

    问题:使用js动态添加的元素,给该元素绑定了点击事件,在PC端一切正常触发,但是在移动端却无法触发方法。 原因:在移动端,绑定点击事件需要注意使用 touch 事件,而不是鼠标的 click 事件。 常用的触摸事件有:- touchstart:手指触摸屏幕时触发 - touchmove:手指滑动屏幕时连续触

    2024年02月15日
    浏览(39)
  • JS javascript 点击鼠标 鼠标事件 获取元素 获取元素Xpath

    js代码,鼠标在页面点击时,记录元素的Xpath 代码:  

    2024年02月15日
    浏览(49)
  • WPF 控件库Live Charts 折线图多折线比较问题处理

    使用Live Charts功能对比多条折线时当Label不是一一对应时会发现折线无法对比如 Labels =                      Listdouble list2 = new Listdouble();                     list2.Add(2.1);    //x为0.5时                     list2.Add(2.2);    //x为0.6时                     list2.Add(2.3);   /

    2023年04月20日
    浏览(49)
  • element ui - el-table给单元格添加点击事件

    el-table中,点击版本号触发查看配置功能,但是产品想将热区扩大,从点击版本号扩大到点击整个单元格都可以查看。 在 el-table-column 中的 template 标签里,添加一个 div元素 包裹版本号和el-tag,将点击事件绑定在div元素上 :

    2024年02月12日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包