交换 GraphViz 图中两个节点的位置 (DOT)
Swap positions of two nodes in a GraphViz diagram (DOT)
我使用 DOT
语言在 R
中创建图表。当我得到一个奇怪的结果时,我很感兴趣如何交换两个节点的位置:节点 8 和节点 c4?
代码:
digraph DAG {
# Initialization of node attributes
node [shape = box, color = blue]; 2; 3; 4;
# Revision to node attributes
{ node [shape = box,style = filled,fillcolor = yellow]; 8}
# Revision to node attributes
{ node [shape = diamond, color = "red"]; c1; c2; c3; c4}
{ rank=same; c1; c2; c3}
{ rank=same; 8; c4}
# Initialization of edge attributes
edge [color = green, rel = yields]
# Edge statements
2->c1 [headport = w];
c1->c2->c3
c2->c1 [tailport = n, headport = n];
8->c3 [tailport = n, headport = s];
c3->3 [tailport = e, headport = n];
c3->c2 [tailport = n, headport = n];
3->c4 [tailport = s, headport = n];
c4->4 [tailport = s, headport = n];
c4->8 [tailport = w, headport = e];
}
(不正确的)结果是:
对于 "wrong way" 个边缘你可以
- 交换节点并使用属性
dir = back
反转其 'force'
- 使用属性
constraint = none
禁用其 'force'
在你的情况下你替换
8->c4 [tailport = e, headport = w, dir = back];
通过
c4->8 [tailport = w, headport = e, constraint = none];
或
8->c4 [tailport = e, headport = w, dir = back];
我使用 DOT
语言在 R
中创建图表。当我得到一个奇怪的结果时,我很感兴趣如何交换两个节点的位置:节点 8 和节点 c4?
代码:
digraph DAG {
# Initialization of node attributes
node [shape = box, color = blue]; 2; 3; 4;
# Revision to node attributes
{ node [shape = box,style = filled,fillcolor = yellow]; 8}
# Revision to node attributes
{ node [shape = diamond, color = "red"]; c1; c2; c3; c4}
{ rank=same; c1; c2; c3}
{ rank=same; 8; c4}
# Initialization of edge attributes
edge [color = green, rel = yields]
# Edge statements
2->c1 [headport = w];
c1->c2->c3
c2->c1 [tailport = n, headport = n];
8->c3 [tailport = n, headport = s];
c3->3 [tailport = e, headport = n];
c3->c2 [tailport = n, headport = n];
3->c4 [tailport = s, headport = n];
c4->4 [tailport = s, headport = n];
c4->8 [tailport = w, headport = e];
}
(不正确的)结果是:
对于 "wrong way" 个边缘你可以
- 交换节点并使用属性
dir = back
反转其 'force' - 使用属性
constraint = none
禁用其 'force'
在你的情况下你替换
8->c4 [tailport = e, headport = w, dir = back];
通过
c4->8 [tailport = w, headport = e, constraint = none];
或
8->c4 [tailport = e, headport = w, dir = back];