Dot graph language - how to make bidirectional edges automatically?

I82Much picture I82Much · Aug 11, 2010 · Viewed 24.8k times · Source

Here is a very simplified example of my Dot graph:

strict digraph graphName {
A->B
B->A
}

This creates alt text

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.

alt text

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

alt text

Any better solutions?

Answer

user2598811 picture user2598811 · Jul 19, 2013

You should just use:

A -> B [dir=both]