Вы можете использовать эту версию:
digraph G {
subgraph cluster_X {
A [ pos = "0,1!" ];
B [ pos = "0,0!" ];
}
subgraph cluster_Y {
C [ pos = "1,1!" ];
D [ pos = "1,0!" ];
}
A -> B
B -> C[label="yadda"]
C -> D;
}
Затем вы используете neato (не точка)
neato -Tpng -oyadda.png yadda.dot
И результат: