2014-09-20 2 views
0

Я написал следующий код GraphViz нарисовать корону график на 8 узлов:График кроны в графике - как правильно сохранить порядок?

graph G { 
    u1 [label=<<I>u<SUB>1</SUB></I>>] 
    v1 [label=<<I>v<SUB>1</SUB></I>>] 
    u2 [label=<<I>u<SUB>2</SUB></I>>] 
    v2 [label=<<I>v<SUB>2</SUB></I>>] 
    u3 [label=<<I>u<SUB>3</SUB></I>>] 
    v3 [label=<<I>v<SUB>3</SUB></I>>] 
    u4 [label=<<I>u<SUB>4</SUB></I>>] 
    v4 [label=<<I>v<SUB>4</SUB></I>>] 
    u1 -- v2 
    u1 -- v3 
    u1 -- v4 
    u2 -- v1 
    u2 -- v3 
    u2 -- v4 
    u3 -- v1 
    u3 -- v2 
    u3 -- v4 
    u4 -- v1 
    u4 -- v2 
    u4 -- v3 
} 

Результат при компиляции с dot хорошо, но не совсем то, что я хочу - нужен порядок сверху " слой "узлов должен быть u_1, u_2, u_3, u_4, а нижний слой должен быть v_1, v_2, v_3, v_4, чтобы он выглядел как граф короны. Однако я не знаю, как это сделать dot. Любая помощь была бы потрясающей.

ответ

1

Некоторые полезные методы, чтобы контролировать расположение узлов включают в себя:

Наиболее полезно, когда combined.

В данном конкретном случае, вы можете применить constraint=false на ваших краях, чтобы не иметь их влияние на макет, и добавить невидимые края расположить узлы.

Вставьте следующий бит между вашими декларациями узлов и список края (после строки 9):

edge[style=invis] 
    u1 -- v1 
    u2 -- v2 
    u3 -- v3 
    u4 -- v4 
    edge[style=visible, constraint=false] 
Смежные вопросы