Graphviz 从左到右,然后从上到下的图形布局
给出了: (抱歉这么小:)Graphviz 从左到右,然后从上到下的图形布局,graphviz,Graphviz,给出了: (抱歉这么小:) 这是一个简单的线性图。我想有三个盒子从左到右,每个盒子内部组织从上到下。在谷歌搜索了很多次之后,我仍然不知道该怎么做 基本上,您只需将=false属性添加到连接群集之间节点的边: ac4->ex1[label=“)”,constraint=false] ex4->num1[label=“-”,constraint=false] 此属性禁止边影响连接节点的列组位置。换句话说,它添加了连接箭头,但头部和尾部的位置保持不变,就好像根本没有连接一样 但是,您将面临另一个问题
这是一个简单的线性图。我想有三个盒子从左到右,每个盒子内部组织从上到下。在谷歌搜索了很多次之后,我仍然不知道该怎么做 基本上,您只需将=false属性添加到连接群集之间节点的边:
ac4->ex1[label=“)”,constraint=false]代码>
ex4->num1[label=“-”,constraint=false]代码>
此属性禁止边影响连接节点的列组位置。换句话说,它添加了连接箭头,但头部和尾部的位置保持不变,就好像根本没有连接一样
但是,您将面临另一个问题-如果您的簇并排排列,您将把一个簇的底部与另一个簇的顶部连接起来,这将导致整个图中丑陋的重叠边
如果你在解决这个问题上遇到困难,请告诉我你希望如何解决这个问题,我们可以一起讨论解决方案
digraph finite_state_machine {
size="8,5"
rankdir=LR;
node [shape = doublecircle]; beg, end;
node [shape = circle];
subgraph clusterG1 {
label="area code";
beg -> ac1 [ label = "(" ];
ac1 -> ac2 [ label = "0,1,2,3,4,\n5,6,7,8,9,0" ];
ac2 -> ac3 [ label = "0,1,2,3,4,\n5,6,7,8,9,0" ];
ac3 -> ac4 [ label = "0,1,2,3,4,\n5,6,7,8,9,0" ];
}
ac4 -> ex1 [ label = ")" ];
subgraph clusterG2 {
label="exchange"
ex1 -> ex2 [ label = "0,1,2,3,4,\n5,6,7,8,9,0" ];
ex2 -> ex3 [ label = "0,1,2,3,4,\n5,6,7,8,9,0" ];
ex3 -> ex4 [ label = "0,1,2,3,4,\n5,6,7,8,9,0" ];
}
ex4 -> num1 [ label = "-" ];
subgraph clusterG3 {
label="number"
num1 -> num2 [ label = "0,1,2,3,4,\n5,6,7,8,9,0" ];
num2 -> num3 [ label = "0,1,2,3,4,\n5,6,7,8,9,0" ];
num3 -> num4 [ label = "0,1,2,3,4,\n5,6,7,8,9,0" ];
num4 -> end [ label = "0,1,2,3,4,\n5,6,7,8,9,0" ];
}
}