Drawing reflexive edges in State Machines

Posted by reforged on Stack Overflow See other posts from Stack Overflow or by reforged
Published on 2010-04-27T22:05:58Z Indexed on 2010/04/27 23:33 UTC
Read the original article Hit count: 342

I have to draw a small finite state machine that has some reflexive transitions (meaning the start and the end state of the transition are equal.
The problem is that rendering that in Graphviz has ugly results.
digraph finite_state_machine {
edge [fontsize=11];

S0 -> S0 [label = "td=1\n-/e2"];
S0 -> S1 [label = "td=3 \n-/e3" ];
S1 -> S0 [label = "td=3\n-/-\nt=0"];
S0 -> S2 [label = "P:i1/e4"];
S2 -> S0 [label = "td=0\n-/-" ];
S0 -> S0 [label = "i1/e1\ntd+=1"];
}

A rendering of the state machine

Is there a way to make this look a little better?
BTW: I tried head/tailport but they don't work on my version of Graphviz (1.13 on Mac OS X)

I am not limited to the dot engine, I only want a nice looking graph and don't care about the renderer/language.

Thanks a lot

© Stack Overflow or respective owner

Related posts about graphviz

Related posts about graph