我正在尝试为必须在网格中布置所有元素的图形生成布局信息。我希望所有坐标都是网格框大小的整数倍。
例如,如果我有一个由 1 英寸正方形组成的网格,我希望所有节点坐标都是 72 的倍数(如果我没记错的话,一英寸的点数)。我喜欢点的分层布局,所以如果可能的话,这就是我想使用的工具。
我已经多次查看元素属性列表,但我还没有弄清楚如何做到这一点。
编辑:
我选择 GraphViz 的原因是它可以执行布局,然后将该信息作为文本返回。其他工具似乎只是想渲染一个图,但我想在其他地方渲染,我只需要获取布局信息。
我正在尝试为必须在网格中布置所有元素的图形生成布局信息。我希望所有坐标都是网格框大小的整数倍。
例如,如果我有一个由 1 英寸正方形组成的网格,我希望所有节点坐标都是 72 的倍数(如果我没记错的话,一英寸的点数)。我喜欢点的分层布局,所以如果可能的话,这就是我想使用的工具。
我已经多次查看元素属性列表,但我还没有弄清楚如何做到这一点。
编辑:
我选择 GraphViz 的原因是它可以执行布局,然后将该信息作为文本返回。其他工具似乎只是想渲染一个图,但我想在其他地方渲染,我只需要获取布局信息。
我相信 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 ]
此外,我相信可以在节点所在的网格上设置确切的空间。