Расположите внешние узлы как квадрат - PullRequest
3 голосов
/ 31 января 2012

Учитывая следующий график:

graph {
  node[shape=square];
  A [color=olivedrab4 /* pos="0,0!" */ ];
  B [color=orange     /* pos="0,3!" */ ];
  C [color=royalblue  /* pos="5,3!" */ ];
  D [color=orangered  /* pos="5,0!" */ ];

  node[shape=circle];
  u -- v -- w -- {x y}

  A -- u;
  B -- v;
  C -- y;
  D -- x;

}

, который neato отображает так:

freely arranged graph

есть ли способ исправить [A-D] вуглы квадрата и аккуратно размеченный подграф [u-y] между?

Примечание: раскомментирование указателей позиции в приведенном выше коде дает следующий неудовлетворительный результат:

position hinted graph

1 Ответ

3 голосов
/ 01 февраля 2012

Просто используйте fdp вместо neato и раскомментируйте подсказки позиции:

fdp -Tpng corners.gv -o corners.png

graphviz output

Или, если вы хотите использовать neato, добавьте некоторый начальный атрибут pos и к другим узлам и поместите их посередине:

node[shape=circle, pos="2.5,1.5"];

(восклицательный знак отсутствует после координат).

Вывод почти такой же:

graphviz output - neato

...