Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add "irrelevant" edges

Tags:

I have this graph:

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;
}

and I want to add these other edges:

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"];

but without altering the layout. I tried setting the edge weight to 0, but it doesn't work.

Thanks

like image 921
luomoradioattivo Avatar asked May 18 '11 11:05

luomoradioattivo


1 Answers

You can simply add

edge[constraint=false];

before adding the irrelevant edges.

Without:

enter image description here

With the edges:

graphviz non layout altering edges

(There still seem to be some small changes)

like image 70
marapet Avatar answered Oct 14 '22 03:10

marapet