Dot graph language - how to make bidirectional edges automatically?
Here is a very simplified example of my Dot graph:
strict digraph graphName {
A->B
B->A
}
This creates
Instead I want a single edge shown between A and B but with a double arrow head. I know how to get the double arrowhead as a global option:
strict digraph graphName {
edge [dir="both"]
A->B
B->A
}
But that looks very ugly, and not all of my edges should be dual headed.
If I do more processing of the graph and detect the double reference myself and replace the two edges with a single edge, it looks OK. But I'd rather not have to do this extra step
strict digraph graphName {
A->B [dir="both"]
}
Any better solutions?
You should just use:
A -> B [dir=both]
How about 'concentrate=true'?:
strict digraph graphName {
concentrate=true
A->B
B->A
}
From the documentation:
If true, use edge concentrators. This merges multiedges into a single edge and causes partially parallel edges to share part of their paths. The latter feature is not yet available outside of dot.