答案 0 :(得分:0)
您基本上在寻找径向树布局算法。 igraph包含一个树形布局算法(Reingold-Tilford algorithm,但默认情况下不会产生径向布局,因为它以自上而下的方式布局树。您可以尝试转换由Reingold-Tilford算法生成的布局进入径向布局(只需使用Y坐标作为半径,使用X坐标作为原点周围的角度)。这可能会提供一个很好的起点,但我怀疑通过将其传递给a,可以进一步改善生成的布局。力导向布局(如Fruchterman-Reingold算法)能够优化初始“种子”布局。
注意:使用Fruchterman-Reingold布局算法开箱即用可能不会起作用,因为如果你没有为它提供种子布局,那么它从随机开始布局。随机布局可能与最佳的树状布局相距甚远,因此Fruchterman-Reingold算法更难以解开交叉边缘。