Here’s a some steps in a better direction:
nodesep
is not a node-attribute – and it probably doesn’t do what you expected. But it still is useful in your case:
… this affects the spacing between loops on a single node, or multiedges
between a pair of nodes.- I don’t think edge weight changes something if you change it for all edges.
- Enabling splines is often a good idea.
- Adding additional space around the nodes can be done with
sep
overlap
has more values than true/false – I often findscalexy
useful.- Once the node distribution is ok, you may fine-tune label positions by using a combination of
headlabel
/taillabel
,labeldistance
andlabelangle
(red in the example below to make them stand out).
Here’s the modified sample:
digraph n {
splines=true;
sep="+25,25";
overlap=scalexy;
nodesep=0.6;
node [fontsize=11];
//edge[weight=0.2];
A -> B [label="I/5"]
A -> A [label="*/0"]
A -> C [label="ii/2"]
A -> H [label="vii/1"]
B -> D [label="iii/1"]
B -> E [label="IV/2"]
B -> F [headlabel="V/2", labeldistance=4, labelangle=-10, labelfontcolor=red]
B -> B [label="vi/2"]
C -> F [label="V/2"]
C -> H [label="vii/1"]
D -> E [label="IV/2"]
E -> D [label="iii/2"]
E -> G [label="iv/1"]
E -> F [headlabel="V/3", labeldistance=8, labelangle=-7, labelfontcolor=red]
F -> B [label="I/4"]
F -> B [label="vi/1"]
F -> B [label="*/0"]
G -> B [taillabel="I/5", labeldistance=4, labelangle=15, labelfontcolor=red]
H -> B [label="vi/1"]
}