digraph transitions { "afk" [ label="Inactive user\n(afk)", shape="box", width="1.5", style=filled, fillcolor="1.0 .8 1.0" ]; "not-afk" [ label="Active user\n(not-afk)", shape="box", width="1.5", style=filled, fillcolor=".33 .8 1.0" ]; "sleeping" [ label="Computer asleep\n(afk)", shape="box", style=filled, fillcolor=".5 .9 .9" ]; {rank=same afk "not-afk"} "afk":e -> "not-afk":w -> "afk":e [minlen=2]; // Sleeping state "not-afk":s -> "sleeping":n; "afk" -> "sleeping":w; "sleeping":n -> "not-afk":s; }