2011-05-18 43 views
17

我有这个图:如何添加“无关”边缘

digraph G { 
1 [label="car"]; 
2 [label="x"]; 
3 [label="car"]; 
4 [label="y"]; 
5 [label="cdr"]; 
6 [label="cdr"]; 
7 [label="cons"]; 
8 [label="x1"]; 
9 [label="x2"]; 
10 [label="cons"]; 
11 [label="y1"]; 
12 [label="y2"]; 
13 [label="f"]; 
14 [label="f"]; 
15 [label="car"]; 
16 [label="cdr"]; 
17 [label="car"]; 
18 [label="cdr"]; 
1 -> 2; 
3 -> 4; 
5 -> 2; 
6 -> 4; 
7 -> 8; 
7 -> 9; 
10 -> 11; 
10 -> 12; 
13 -> 2; 
14 -> 4; 
15 -> 7; 
16 -> 7; 
17 -> 10; 
18 -> 10; 
} 

,我要添加这些其它边缘:

1 -> 3 [style="dashed"]; 
2 -> 7 [style="dashed"]; 
3 -> 8 [style="dashed"]; 
4 -> 10 [style="dashed"]; 
5 -> 6 [style="dashed"]; 
6 -> 9 [style="dashed"]; 
7 -> 10 [style="dashed"]; 
8 -> 11 [style="dashed"]; 
9 -> 12 [style="dashed"]; 
13 -> 14 [style="dashed"]; 
15 -> 8 [style="dashed"]; 
16 -> 9 [style="dashed"]; 
17 -> 11 [style="dashed"]; 
18 -> 12 [style="dashed"]; 

,但不改变布局。 我尝试将边缘权重设置为0,但它不起作用。

感谢

回答

20

你可以简单地添加无关边缘前加

edge[constraint=false]; 

没有:

enter image description here

随着边缘:

graphviz non layout altering edges

(仍然显得有些小的变化)

+0

非常感谢您!正是我需要的! – luomoradioattivo 2011-05-18 11:50:30

+2

为了避免这个小的变化,甚至可以在第一个版本中添加所有的边缘,但是对于虚线边缘使用'style = invis',所以那些将不可见 – deeenes 2016-01-03 13:58:32