G2 icon indicating copy to clipboard operation
G2 copied to clipboard

[Bug]: g2最新版本折线图,x轴横坐标只有两个并且数据缺失时,tooltip展示的图例颜色顺序错乱

Open ustcfury opened this issue 9 months ago • 7 comments

Describe the bug / 问题描述

以下是data,删除注释的一条数据后,tooltip展示的图例颜色不对,并且只有在x轴只有两个值时才会发生(例如eg中x轴横坐标为 '10:10','10:20',假如有更多个时不会有这种问题)

Image

Image

const data = [ { time: '10:10', call: 10, value: 2,name:"people" }, { time: '10:20', call: 10, value: 7,name:"people" }, // { time: '10:10', call: 10, value: 3,name:"mock" }, { time: '10:20', call: 10, value: 5,name:"mock" }, { time: '10:10', call: 10, value: 10,name:"call" }, { time: '10:20', call: 10, value: 10,name:"call" }, ];

Reproduction link / 复现链接

https://codesandbox.io/p/sandbox/wh6y9r

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

复现链接即可重现

Version / 版本

🆕 5.x

OS / 操作系统

  • [x] macOS
  • [ ] Windows
  • [ ] Linux
  • [ ] Others / 其他

Browser / 浏览器

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

ustcfury avatar Mar 26 '25 04:03 ustcfury

Image 简单 debug 了一下,应该是 groupItems 函数的处理导致了颜色发生了变化。

BQXBQX avatar Mar 26 '25 15:03 BQXBQX

目前看来是折线图在特殊情况下的拾取问题,待排查

interstellarmt avatar Mar 27 '25 06:03 interstellarmt

目前看来是折线图在特殊情况下的拾取问题,待排查

问题已找到,是因为按照索引值来查询 element 导致。element 的数据因为缺失无法和 data 一一对应,但是还是按照索引值去查找,导致 element 匹配错误,所以颜色错误。

Image

BQXBQX avatar Mar 27 '25 06:03 BQXBQX

elements数组长度为3,data长度为2导致了不匹配,要解决颜色的问题,不取索引,拿data里的key去做匹配应该可以解决。 但是折线图单点情况下的tooltip拾取看起来不太符合预期,鼠标在图表左侧的时候tooltip拾取到了最右边的单点,感觉这也是个问题。

interstellarmt avatar Mar 27 '25 06:03 interstellarmt

elements数组长度为3,data长度为2导致了不匹配,要解决颜色的问题,不取索引,拿data里的key去做匹配应该可以解决。 但是折线图单点情况下的tooltip拾取看起来不太符合预期,鼠标在图表左侧的时候tooltip拾取到了最右边的单点,感觉这也是个问题。

这个问题和 seriesTootip 的拾取有关,和 https://github.com/antvis/G2/pull/6708 有关,我结合一起 debug 一下。

BQXBQX avatar Mar 27 '25 06:03 BQXBQX

elements数组长度为3,data长度为2导致了不匹配,要解决颜色的问题,不取索引,拿data里的key去做匹配应该可以解决。 但是折线图单点情况下的tooltip拾取看起来不太符合预期,鼠标在图表左侧的时候tooltip拾取到了最右边的单点,感觉这也是个问题。

这个问题和 seriesTootip 的拾取有关,和 #6708 有关,我结合一起 debug 一下。

这个问题已经修复了嘛?我看复现链接上还是不行

ustcfury avatar Jun 04 '25 06:06 ustcfury

elements数组长度为3,data长度为2导致了不匹配,要解决颜色的问题,不取索引,拿data里的key去做匹配应该可以解决。 但是折线图单点情况下的tooltip拾取看起来不太符合预期,鼠标在图表左侧的时候tooltip拾取到了最右边的单点,感觉这也是个问题。

这个问题和 seriesTootip 的拾取有关,和 #6708 有关,我结合一起 debug 一下。

这个问题已经修复了嘛?我看复现链接上还是不行

这个逻辑修复较为困难,tooltip 耦合性较强,当时修复方法不是最合理的,会对其他模块有影响,可能还需要再探讨探讨。

BQXBQX avatar Jun 05 '25 02:06 BQXBQX