私はドットで次のモックアップを実装したいと思います:

これまで私はこれを多く持っています:
digraph G {
graph [rankdir = LR, splines=ortho]
unit [shape=box, width = 2, height = 10];
more_different_unit [shape=box, height=4];
other_unit [shape=box, height=4];
unit -> other_unit [label = "foo"];
unit -> other_unit [label = "bar"];
unit -> other_unit [label = "bar"];
unit -> other_unit [label = "bar"];
unit -> other_unit [label = "bar"];
unit -> other_unit [label = "bar"];
unit -> more_different_unit [label = "bar"];
unit -> more_different_unit [label = "bar"];
unit -> more_different_unit [label = "bar"];
unit -> more_different_unit [label = "bar"];
unit -> more_different_unit [label = "bar"];
unit -> more_different_unit [label = "bar"];
}
私はそうそうコンパイルする:
ドット-Gsplines = none test.gv | neato -n -Gsplines = ortho -Tpng -otest.png
それは私を近づけますが、私が知りたいことがいくつかあります。
-
Fooの左右だけでなく、どのようにブロックを取得できますか?私はまだそれを理解することができませんでした。
-
エッジラベルをエッジの上または下に一貫して置くことはできますか?
-
右ノードを左に、左ノードを右に揃えるにはどうしたらいいですか? 1つの可能性は、それらを同じ幅にすることです。これは大丈夫です。
ありがとう!!
更新:
受け入れられた答えに基づいて、私は今、私が必要としていた正確に次のことをやっています。
digraph G {
graph [rankdir = LR, splines=ortho];
node[shape=record];
Bar[label="Bar", height=2];
Foo[label="Foo", height=4];
Bew[label="Bew", height=2];
Gate[label="Gate", height=2];
Bar -> Foo [label="Bar2Foo"];
Bar -> Foo [label="Bar2Foo"];
Bar -> Foo [label="Bar2Foo"];
Foo -> Bew [label="Foo2Bew"];
Foo -> Bew [label="Foo2Bew"];
Bew -> Foo [label="Bew2Foo"];
Foo -> Gate [label="Foo2Gate"];
Foo -> Gate [label="Foo2Gate"];
}