G2 icon indicating copy to clipboard operation
G2 copied to clipboard

在镜像分面中使用滚动条报错

Open Dante-dan opened this issue 4 years ago • 2 comments

  • [x] I have searched the issues of this repository and believe that this is not a duplicate.

Reproduction link

Edit on CodeSandbox

Steps to reproduce

如果给 view 添加 scrollbar 会导致视图只展示一小部分, 而且上下两个 view 不会同步滚动。

语义上来讲,scrollbar 应该属于 Chart,且会同步滚动。

Environment Info
g2 4.1.4
System bigsur
Browser chrome v87

希望能给出临时的解决方案,或者有没有其他办法实现滚动逻辑。

Dante-dan avatar Dec 22 '20 14:12 Dante-dan

暂时不支持,问题是滚动条目前没有指定针对什么字段进行滚动。

这个在规划中,解决方案是可以指定滚动条作用的字段,然后进行数据过滤。

hustcc avatar Jan 29 '21 07:01 hustcc

同样的问题,其实我只是希望在分面字段很多的时候,在不缩放每个子图表的情况下,能够通过滚动条上下查看所有的子图表。

bigfacewo avatar Jun 20 '22 12:06 bigfacewo

同样的问题,其实我只是希望在分面字段很多的时候,在不缩放每个子图表的情况下,能够通过滚动条上下查看所有的子图表。

建议这种情况是把滚动条外置,然后通过事件去处理图表的绘制。

hustcc avatar Apr 25 '23 01:04 hustcc

建议这种情况是把滚动条外置,然后通过事件去处理图表的绘制。

这种方式太费 cpu 了, 滚动是个很高频的回调, 高频 io 不应该对应高频的计算, 即便可以用上防抖这类降频的措施. 他仍然会是一个高成本的事情, 如果图表库的目标是海量数据 + 高性能的话, 这可能不是一个很划算的事情.

hustcc @.***> 于2023年4月25日周二 09:57写道:

同样的问题,其实我只是希望在分面字段很多的时候,在不缩放每个子图表的情况下,能够通过滚动条上下查看所有的子图表。

建议这种情况是把滚动条外置,然后通过事件去处理图表的绘制。

— Reply to this email directly, view it on GitHub https://github.com/antvis/G2/issues/3152#issuecomment-1521046815, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEW3SX2CNDBILX45QUQUFL3XC4VRBANCNFSM4VFVWBNA . You are receiving this because you authored the thread.Message ID: @.***>

Dante-dan avatar Apr 28 '23 03:04 Dante-dan

@Dante-dan 其实也有优化的办法,至少Tableau就是这样做的,当较快滚动时,并不触发渲染,而且等停止滚动时才触发渲染。

bigfacewo avatar Apr 28 '23 03:04 bigfacewo

优化手段确实是有的吖, 但是这其实是一个设计哲学的问题. 当我们认为 ta 有滚动条时, 其实是将 data 和 view 分开看的. 当用事件去处理图表绘制的时候, 其实只是过滤数据.

当较快滚动时,并不触发渲染,而且等停止滚动时才触发渲染。

而且这种优化, 其实是丢失用户体验的. 如果明确 x 轴不动, 而仅仅是滚动 or 放大, 计算量也不会有变化.


不过在我的场景, 我已经放弃使用啦.

Dante-dan avatar May 06 '23 03:05 Dante-dan