digraph { rankdir="LR"; subgraph { rank="same"; 1 [ label="callP", color="green" ] 2 [ label="doneP", color="red" ] } subgraph { rank="same"; 3 [ label="callQ", color="green" ] 4 [ label="doneQ", color="red" ] } subgraph { rank="same"; 5 [ label="call", color="red" ] 6 [ label="done", color="green" ] } 5 -> 1 5 -> 3 2 -> 6 4 -> 6 1 -> 2 3 -> 4 5 -> 6 }