In recent versions, some edges in dot are routed through nodes
Created by: fedarko
Hi,
I've noticed a bug in recent versions of Graphviz where certain edges are being routed through nodes, even in cases where a more optimal (without any edge-node-crossings) routing seems to be available.
This error seems to have been introduced some time after version 2.38.0 of Graphviz, since that version produces desirable edge routings for me while more recent versions (the oldest version I've observed with this problem is version 2.39.20160727.0821, but I haven't done a lot of testing on versions) produce "undesirable" edge routings.
For reference, I've enclosed the DOT file for a graph which exhibits this problem at the end of this post.
Running dot
(Graphviz version 2.39.20160727.0821) on the enclosed graph produces the following drawing, with edge crossings through nodes c_B20_142_198_17, -35, 206, and -4:
Running dot
(Graphviz version 2.38.0) on the enclosed graph, however, produces the following (with no edge-node crossings) drawing:
Here's the graph used to generate these images.
digraph asm {
edge [headport=n,tailport=s];
c_B20_142_198_17 [height=9.73611,width=3.125,shape=rectangle];
c_Bc40_c156_c69_65 [height=9.63889,width=3.125,shape=rectangle];
-35 [height=1.43136,width=1.1964,shape=house];
-4 [height=4.74461,width=2.17821,shape=house];
-199 [height=1.36173,width=1.16693,shape=house];
-200 [height=1,width=1,shape=house];
-201 [height=1,width=1,shape=house];
206 [height=1.25527,width=1.12039,shape=invhouse];
-158 [height=1,width=1,shape=house];
-159 [height=2.03743,width=1.42738,shape=house];
41 [height=2.5302,width=1.59066,shape=invhouse];
259 [height=1,width=1,shape=invhouse];
-127 [height=2.03342,width=1.42598,shape=house];
-61 [height=1.77085,width=1.33073,shape=house];
-62 [height=2.04532,width=1.43015,shape=house];
207 [height=1.11394,width=1.05544,shape=invhouse];
-279 [height=1.54407,width=1.24261,shape=house];
-63 [height=3.24527,width=1.80146,shape=house];
-35 -> c_B20_142_198_17
-35 -> -63
c_B20_142_198_17 -> -35
-4 -> -35
-199 -> -4
-199 -> -279
-200 -> -199
-200 -> 207
-201 -> -62
-201 -> -200
206 -> -201
c_Bc40_c156_c69_65 -> 206
-158 -> c_Bc40_c156_c69_65
-159 -> -158
41 -> -158
259 -> 41
259 -> -127
-127 -> c_Bc40_c156_c69_65
-61 -> -201
-62 -> -61
207 -> 206
-279 -> -61
-63 -> -159
-63 -> 259
}
Thanks!