Как принудительно расположить ребра в graphviz?
Вопрос
У меня возникли проблемы с перекрывающимися друг на друга ребрами.В моем предыдущий вопрос о том, как заставить узлы находиться в одном столбце, выяснил, как принудительно объединить узлы в один столбец, но это приводит к появлению некоторых других проблем.
digraph exmp {
A -> B -> C -> D -> E
C -> F [constraint=false]
A -> C [style="dotted", constraint=false]
A -> D [style="dotted", constraint=false]
B -> D [constraint=false]
D -> A [style="dashed", constraint=false]
C -> A [style="dashed", constraint=false]
E -> F [style="invis"]
F -> G
E -> C [constraint="false"]
}
Рендерит для:
альтернативный текст http://img98.imageshack.us/img98/8324/wrong2.gif
Моя проблема в том, что ребра из E -> C и C -> F начинаются / заканчиваются в одной и той же точке узла C, а все пунктирные ребра находятся на правой стороне узлов.
Как я мог бы указать определенным ребрам переходить на правую сторону узла?
Решение
После сообщения в списке рассылки graphviz я обнаружил, что, по крайней мере, возможно устранить проблему перекрытия E -> C и C -> F.
Самое простое решение заключается в использовании точки компаса порт:
C:e -> F [constraint=false]
-- Emden