Graphviz:如何使用circo布局安排节点
我想画一个圆形拓扑图 以下是我希望看到的: 这是我的gv文件:Graphviz:如何使用circo布局安排节点,graphviz,Graphviz,我想画一个圆形拓扑图 以下是我希望看到的: 这是我的gv文件: digraph g1 { layout="circo"; node [shape = doublecircle]; N4 N6; node [shape = circle]; N0 -> N1 [ label = "{1,0}"]; N1 -> N2 [ label = "{1,0}"]; N2 -> N3 [ label = "{1,0}"]; N3 -&
digraph g1 {
layout="circo";
node [shape = doublecircle]; N4 N6;
node [shape = circle];
N0 -> N1 [ label = "{1,0}"];
N1 -> N2 [ label = "{1,0}"];
N2 -> N3 [ label = "{1,0}"];
N3 -> N4 [ label = "{1,0}"];
N4 -> N5 [ label = "{1,0}"];
N5 -> N6 [ label = "{1,0}"];
N6 -> N0 [ label = "{1,0}"];
N0 -> N4 [ label = "{1,0}"];
N1 -> N5 [ label = "{1,0}"];
N2 -> N6 [ label = "{1,0}"];
N3 -> N0 [ label = "{1,0}"];
N4 -> N1 [ label = "{1,0}"];
N5 -> N2 [ label = "{1,0}"];
N6 -> N3 [ label = "{1,0}"];
}
这是上图的输出图像:
如何在graphviz中排列节点以使其看起来像?如果目标是拥有一个尊重节点顺序的图形,那么就没有那么简单了。你可以 或者,您可以首先使用确定节点正确顺序的边布局节点:
digraph g1 {
node [shape = doublecircle]; N4 N6;
node [shape = circle];
edge[label="{1,0}"];
N0 -> N1 -> N2 -> N3 -> N4 -> N5 -> N6 -> N0;
}
与:
然后将剩余的边添加到tempgraph.gv
-只需在关闭}
之前复制粘贴以下内容即可:
N0 -> N4 [ label = "{1,0}"];
N1 -> N5 [ label = "{1,0}"];
N2 -> N6 [ label = "{1,0}"];
N3 -> N0 [ label = "{1,0}"];
N4 -> N1 [ label = "{1,0}"];
N5 -> N2 [ label = "{1,0}"];
N6 -> N3 [ label = "{1,0}"];
并使用neato
和-n
选项进行渲染:
neato -n tempgraph.gv -Tpng -O
您可能需要微调标签的位置:
谢谢
circo
命令是我想要的,但我只是尝试dot
和neato
现在我明白了为什么我不能得到一个圆形布局了!
neato -n tempgraph.gv -Tpng -O