antvis/G2

Do you want to work on this issue?

You can request for a bounty in order to promote it!

[Bug]: 弹性条形图 tooltip 拾取错误 #6720

BQXBQX posted onGitHub

Describe the bug / 问题描述

官网弹性条形图

<img width="882" alt="Image" src="https://github.com/user-attachments/assets/a1b58976-f87b-4dfe-b53e-1b1e32886186" />

当鼠标放到 德国 英国 法国的右半边 rect 时,tootip 拾取错误。

https://g2.antv.antgroup.com/zh/examples/general/interval/#bar-flex

Steps to Reproduce the Bug or Issue / 重现步骤

当鼠标放到 德国 英国 法国的右半边 rect 时,tootip 拾取错误。

Version / 版本

🆕 5.x

OS / 操作系统

  • macOS
  • Windows
  • Linux
  • Others / 其他

Browser / 浏览器

  • Chrome
  • Edge
  • Firefox
  • Safari (Limited support / 有限支持)
  • IE (Nonsupport / 不支持)
  • Others / 其他

感觉可能和之前的 tooltip 修改有关系,这个图的 tooltip 拾取需要走图形拾取,而不是数据的拾取。

posted by hustcc 27 days ago

<img width="1458" alt="Image" src="https://github.com/user-attachments/assets/e9b33a07-2676-4f45-8e03-246cba46a11f" /> 是新的问题导致的,当 rect 的长度每个 item 不想等时,getBandWidth 方法错误,应该传入正确的 xDomain 才能拿到正确的宽度,现在没有传入 props,所以只拿到第一个数据的 bandwidth 作为通用的 bandwidth。

posted by BQXBQX 27 days ago

related: #6516 对于flex转换后的tooltip拾取的时候要做特殊处理,不能按等步长处理。

posted by interstellarmt 25 days ago

这个 tooltip 怎么不是使用图形去拾取?数学计算去拾取只在一些场景开启,比如:在柱形图空白地方也能触发 tooltip。

posted by hustcc 1 day ago

这个 tooltip 怎么不是使用图形去拾取?数学计算去拾取只在一些场景开启,比如:在柱形图空白地方也能触发 tooltip。

是指将 tooltip 监听事件从整个 canvas 身上移动到 rect 和 line 这些 shape 身上吗?可能有一个问题,就是无效数据像 null 和未定义这样的根本不存在 element ,可能这种需要做一些特殊监听处理,就是默认打开空白地方也能触发 tooltip,我觉得这个方法可以试试,确实每个图形单独拾取可以解决数学计算很多边缘情况无法考虑到的问题。🤔

posted by BQXBQX about 24 hours ago

是指将 tooltip 监听事件从整个 canvas 身上移动到 rect 和 line 这些 shape 身上吗?可能有一个问题,就是无效数据像 null 和未定义这样的根本不存在 element ,可能这种需要做一些特殊监听处理,就是默认打开空白地方也能触发 tooltip,我觉得这个方法可以试试,确实每个图形单独拾取可以解决数学计算很多边缘情况无法考虑到的问题。🤔

是的,我记得之前是有不同模式,大部分图形,其实监听元素事件,比如散点图,基本只有柱形图才有数学拾取的情况。是之前某个 pr 修改了逻辑吗?

posted by hustcc about 23 hours ago

有的,有个 isBar 的判断 <img width="907" alt="Image" src="https://github.com/user-attachments/assets/f710983a-30d3-4fe3-97b5-c02d17cd9fef" />

posted by BQXBQX about 23 hours ago

Fund this Issue

$0.00
Funded
Only logged in users can fund an issue

Pull requests