2

我正在尝试为必须在网格中布置所有元素的图形生成布局信息。我希望所有坐标都是网格框大小的整数倍。

例如,如果我有一个由 1 英寸正方形组成的网格,我希望所有节点坐标都是 72 的倍数(如果我没记错的话,一英寸的点数)。我喜欢点的分层布局,所以如果可能的话,这就是我想使用的工具。

我已经多次查看元素属性列表,但我还没有弄清楚如何做到这一点。

编辑:

我选择 GraphViz 的原因是它可以执行布局,然后将该信息作为文本返回。其他工具似乎只是想渲染一个图,但我想在其他地方渲染,我只需要获取布局信息。

4

1 回答 1

1

我相信 Graph::Easy perl 模块可用于将点文件布局到网格中。

http://bloodgate.com/perl/graph/manual/index.html

http://search.cpan.org/~tels/Graph-Easy/bin/graph-easy

编辑:

我不确定这是否是您想要的输出,但是通过使用我可以生成的节点的列宽:

+------------------+
|        A         |
+------------------+
  |             |
  |             |
  v             v
+------------++----+
|     A1     || A2 |
+------------++----+
  |      |
  |      |
  v      v
+-----++-----+
| A1B || A1A |
+-----++-----+

graph { flow: down; }
[ A ] {columns: 8;}
[ A ]  -> { start: south; end: north; } [ A1 ] 
[ A ]  -> { start: south; end: north; } [ A2 ] 
[ A1 ] -> { start: south; end: north;}  [ A1A ]
[ A1 ] -> { start: south; end: north;}  [ A1B ]

此外,我相信可以在节点所在的网格上设置确切的空间。

于 2011-08-18T23:16:06.873 回答