2013-10-03 3 views
5

Макет двигателя neato. Я хотел бы иметь еще некоторое пространство между стрелками от a до c и узлом b. margin и pad не помогают с neato. Это мой график:Graphviz: Расстояние между краями и переданными узлами с neato

digraph G { 
    splines=true  

    a [pos="0.0,0.0!"]; 
    b [pos="0.0,1.0!"]; 
    c [pos="0.0,2.0!"]; 

    a -> b; 
    a -> c; 
    b -> c; 
} 

Current graph

Возможно ли это?

ответ

3

Принимая исходное определение графа, добавив атрибут esep=1 получить следующее:

digraph G { 
    splines=true; esep=1; 


    a [pos="0.0,0.0!"]; 
    b [pos="0.0,1.0!"]; 
    c [pos="0.0,2.0!"]; 

    a -> b; 
    a -> c; 
    b -> c; 
} 

выхода следующих средств с Neato:

Output with added <code>esep</code> attribute

Согласно documentation для этого атрибут:

Маржа, используемая вокруг полигонов для целей маршрутизации сплайна. Интерпретация такая же, как и для sep. Обычно это должно быть строго меньше, чем sep.

+0

Извините, как-то я не видел вашего ответа в последние дни. Спасибо, ты прав, это работает. Но, кажется, мой крошечный пример здесь крошечный. Проблема в том, что маршрутизация работает только тогда, когда узлы имеют минимальное расстояние между ними. Я не могу обеспечить такое расстояние в своем приложении, узлы могут быть очень близки друг к другу. 'esep' увеличивает это расстояние, так что маршрутизация не будет работать в моих случаях. Любая идея, если можно обойти эту проблему? Но похоже, что это неотъемлемо от Graphviz. –

Смежные вопросы