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

Lam*_*bda 3 graph dot graphviz

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

在此输入图像描述

mar*_*pet 6

Graphviz 为圆形布局提供了circo布局引擎

\n\n
\n

circo 使用圆形布局绘制图形(请参阅 Six 和 Tollis,GD \xe2\x80\x9999\n 和 ALENEX \xe2\x80\x9999,以及 Kaufmann 和 Wiese,GD \xe2\x80\x9902。)该工具识别\n双连通分量并在圆上绘制分量的节点。然后使用递归径向算法布置块切割点树。通过在圆的周长上放置尽可能多的边\xe2\x80\x99s 可以最大限度地减少圆内的边交叉。特别是,如果组件是外平面的,则该组件将具有平面布局。如果一个节点属于多个非平凡的双连通组件,则布局会将节点放入其中之一。默认情况下,这是从根组件搜索中找到的第一个重要组件。

\n
\n\n

K3 的一个简单示例是:

\n\n
graph K3 {\n    layout=circo;\n    node[shape=point, color=red];\n    a--b--c--a;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

然而,大多数图表的方向与您的图像不同。K3 示例将产生以下结果:

\n\n

K3

\n\n

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

\n