antvis/G6

弱弱问一下,一般布局(如Dagre)和树形布局(如mindmap)互相切换时,数据结构(data)需要自行转换吗? 还是G6有对应的方法可用?十分感谢!! #4423

gdyycn posted onGitHub

问题描述

弱弱问一下大佬,一般布局(如Dagre)和树形布局(如mindmap)互相切换时,数据结构(data)需要自行转换吗? 还是G6有对应的方法可用?十分感谢!!

重现链接

重现步骤

预期行为

基于同一数据源,一般布局(如Dagre)和树形布局(如mindmap)之间可便捷切换

平台

  • 操作系统: [macOS, Windows, Linux, React Native ...]
  • 网页浏览器: [Google Chrome, Safari, Firefox]
  • G6 版本: [4.8.7 ]

屏幕截图或视频(可选)

No response

补充说明(可选)

No response


有没有把图数据生成一份对应的树图数据推荐的库,其实树状布局是极其常用的布局,支持网络布局和树图的切换会更友好

posted by HogoZhang about 1 year ago

这两种布局接收的数据不同,所以在 G6 上是配置在不同类型的 Graph 上的。如果你想切换,可以使用 Graph,然后切换成 mindmap 布局的时候,需要自己把图数据生成一份对应的树图数据放入 @antv/hierarchy 的 mindmap 布局中进行计算,如果你的图数据中存在环路,可以借助 @antv/algorithm 的 minimumSpanningTree 算法生成最小生成树去掉环,但它还是 Graph 的数据结构,还需要自己转换成 TreeGraph 嵌套 children 的数据结构。布局完成之后再根据节点的 id 把对应的 x y 给到原先的 Graph 数据进行绘制。

谢谢谢谢!

posted by gdyycn 8 months ago

Fund this Issue

$0.00
Funded

Pull requests