Предположим, этот код использует neato:
graph sample {
layout=neato
overlap=false
splines=true
tailclip=false
headclip=false
A -- I
A -- J
A -- B
A -- H
A -- E
A -- K
B -- D
B -- C
B -- L
C -- M
C -- N
C -- O
D -- P
D -- Q
E -- R
F -- A
G -- F
H -- J
}
Это дает нам следующую диаграмму:
Что мне нужно, так это разместить узел X
, всегда фиксированный в положении к югу от его родительского узла. т.е. если я поставлю другое соотношение A - X
, X
всегда должно быть расположено к югу от A
. И мне все равно, где все остальное закончится.
Я изучил атрибут pos
, но, похоже, это не решение, поскольку X
на самом деле не в фиксированной позиции, а в позиции относительно его отношение.
Также tailport
и headport
, но они только определяют, откуда край будет выходить / входить, но на самом деле не влияют на направление узла.
Обновление
Дополнительное изображение, чтобы прояснить ситуацию:
Мне не нужна аккуратность, но я не хочу, чтобы график выглядел как дерево точек UD или LR, я не хочу, чтобы он был быть линейно упорядоченным. circo, fdp, sfdp, twopi тоже подойдут.