Right to left edges in dot (Graphviz)
26,989
Solution 1
I have no alternative to your usage of dir, but i can make it slightly shorter, if you want horizontal alignment, use the rankdir property of graph, to force direction from left to right.
digraph {
rankdir=LR;
a->b;
c->a [dir="back"];
}
Solution 2
To make edges point backwards by default:
digraph {
edge [dir="back"];
a -> b;
c -> a;
}
Then, override the default to point forwards:
c -> d [dir="forward"];
Author by
Solomon Duskis
Updated on July 09, 2022Comments
-
Solomon Duskis almost 2 years
I'm trying to display edges going from right to left (i.e. backwards) using dot:
C <- A -> B
The best I could do was:
digraph { a -> b; c -> a [dir="back"]; {rank=same;c a b} }
..which is fine, except I don't like using
c -> a
when the edge is directed the other way.So I wanted to share this solution (which didn't seem to be mentioned on SO) and check if I'm missing something obvious.
-
Evi1M4chine over 10 yearsThis doesn’t solve the problem that the rank of the nodes for the a-c edge still isn’t reversed relative to the graph, unless you write it
c -> a
. I wish one could just writea <- c
. :/
-