Please see the attached input file.
Kind Regards,
Peter
Input:
Comments:
graph G {
BMZ;
{ rank = same; MU1; MU2; }
{ FWA1_1; FWA1_2; FWA1_3; }
{ FWA2_1; FWA2_2; FWA2_3; }
BMZ -- MU1;
BMZ -- MU2;
MU1 -- FWA1_1;
FWA1_1 -- FWA1_2;
FWA1_2 -- FWA1_3;
MU1 -- FWA1_3;
MU2 -- FWA2_1;
FWA2_1 -- FWA2_2;
FWA2_2 -- FWA2_3;
MU2 -- FWA2_3;
MU1 -- MU2[label="X"];
}
Using neato this renders a graph, but rank information is ignored.
[ellson] I don't the segfault with graphviz-2.8 and later, but something is not right: The edge MU1--MU2 seems to have become directed and gained an arrowhead!
[north] Hmmm. I'd start by asking why it has an arrowhead - it's just a graphical attribute and should be easy to track.
In terms of whether the edge is truly "directed" internally, a while ago we decided that internally the graph library would record the original "direction" even of edges in undirected graphs. I think the correct semantic might be for dot to ignore that information, but that might actually require extra coding to enforce, which leads one to question the decision. That is, should undirected graphs always imply [constraint=false] for all edges.
[ellson] Please use graphviz-2.8 to avoid the segfault.
Investigating your bug exposed the problem with the extra arrowhead. I think I have a fix for this which should go into CVS today if Stephen approves. For graphviz-2.8 you can work around the problem by adding an explicit:
edge [dir=none]
to your graph.
Owner: ellson
Status: Fixed (27 Oct 2006)