如何使用Dot和Graphviz循环布局完整的图形?

时间:2017-09-20 08:40:32

标签: graph graphviz dot

如何在图形中“循环”布局节点,类似于下图中的图形:

enter image description here

1 个答案:

答案 0 :(得分:3)

Graphviz为圆形布局提供circo layout engine

  

circo使用圆形布局绘制图形(参见Six和Tollis,GD '99   和ALENEX '99,以及Kaufmann和Wiese,GD '02。)该工具确定   双连通组件并在a上绘制组件的节点   圈。然后使用递归布置块切割点树   径向算法。圆内的边缘交叉最小化   尽可能多地在圆周上放置边缘。在   特别是,如果组件是外平面的,组件将具有   平面布局。如果一个节点属于多个非平凡的双连通   组件,布局将节点放在其中一个节点中。默认情况下,这个   是从根中搜索的第一个非平凡组件   成分

K3的一个简单示例是:

graph K3 {
    layout=circo;
    node[shape=point, color=red];
    a--b--c--a;
}

但是,大多数图表的方向与图像不同。 K3的例子可以产生这个:

K3

要在线测试其他布局引擎,您可以使用GraphvizOnline