digraph G { initial[label="", shape="circle", xlabel="refresh"]; pending[label="refresh"]; //aborting[label="refresh", style=dashed]; //aborted[style=dashed]; done[label="done", shape="box"]; subgraph { rank=same; pending; // aborting; } subgraph { rank=same; done; //aborted; } initial->pending; //pending -> aborting [color=blue, style=dashed, label="abort"]; //aborting->aborted; pending->done [color=green]; }