3

考虑下图:

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如下:

自由排列的图形

有没有办法固定[A-D]在一个正方形的角落里,并把子图[u-y]整齐地布置在它们之间?

注意:取消注释上面代码中的位置提示会产生以下不令人满意的结果:

位置提示图

4

1 回答 1

3

只需使用fdp代替neato并取消注释位置提示:

fdp -Tpng corners.gv -o corners.png

图形输出

或者,如果您想使用neato,也将一些初始 pos 属性添加到其他节点,并将它们放在中间:

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

(坐标后没有感叹号)。

输出几乎相同:

graphviz 输出-neato

于 2012-01-31T20:22:20.167 回答