2

すべての要素をグリッドに配置する必要があるグラフのレイアウト情報を生成しようとしています。すべての座標をグリッドボックスサイズの整数倍にします。

たとえば、1インチの正方形で構成されたグリッドがある場合、すべてのノード座標を72の倍数にします(間違っていない場合は、1インチのポイント数)。ドットの階層的なレイアウトが好きなので、できればそれを使いたいツールです。

要素属性リストを数回調べましたが、これを行う方法がわかりません。

編集:

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 に答える