您基本上是在寻找放射状树布局算法。igraph包含树布局算法(Reingold-Tilford算法,但是默认情况下它不生成径向布局,因为它以自顶向下的方式对树进行布局。您可以尝试将Reingold-Tilford算法生成的布局转换为径向布局(只需将Y坐标用作半径,将X坐标用作围绕原点的角度),这可能会提供一个很好的起点,但是我怀疑通过将其传递给力可以进一步改善最终的布局定向的布局(例如Fruchterman-Reingold算法),可以优化初始的“种子”布局。
注意:开箱即用地使用Fruchterman-Reingold布局算法可能不起作用,因为如果不为它提供种子布局,则它从随机布局开始。随机布局可能与最佳的树状布局相去甚远,因此Fruchterman-Reingold算法更难解开交叉边缘。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句