Dot graph language - how to make bidirectional edges automatically?
Solution 1
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.
Solution 2
You should just use:
A -> B [dir=both]
Comments
-
I82Much over 3 years
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?
-
Russia Must Remove Putin about 10 yearsWorks with a label for me, and I'm running an older version.
-
Russia Must Remove Putin about 10 yearsThis saved me some redundant lines, and I'm using it as well as the top answer where appropriate.
-
philw over 9 yearsIf it helps... this didn't work for me, in so much as it coalesced the edges, but only put a single arrow on the end. Then I tried to "strict digraph"... and it works perfectly then.
-
Yetti99 over 5 yearsYou don't need quotes around "both"
-
Dan Rosenstark over 4 years@NoahSussman It can't be the accepted answer because it doesn't actually answer the question ;)
-
Dan Rosenstark over 4 yearsThis is silly but it's what the OP wanted, so big up!
-
Tropilio about 4 years@philw It does not work for me either, I get edges with a single arrowhead only. I am using pygraphviz, and I tried
pgv.AGraph(directed=True, strict=True)
, but it does not work either, i get two edges again... Any suggestions?