私はドットで次のモックアップを実装したいと思います:
これまで私はこれを多く持っています:
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"];
}
これはあなたを始めますか?
digraph G {
graph [rankdir = LR];
node[shape=record];
Bar[label="{ \"Bar\"|{pin 1| 2| 3| 4| 5} }"];
Foo[label="{ {data0|data1|data2|data3|data4}|\"Foo\" |{out0|out1|out2|gnd|ex0|hi|lo} }"];
Bew[label="{ {clk|syn|mux0|mux1|signal}|\"Bew\" |{out0|out1|out2} }"];
Bar:p1 -> Foo:data0;
Bar:p2 -> Foo:data1;
Bar:p3 -> Foo:data2;
Bar:p4 -> Foo:data3;
Bar:p5 -> Foo:data4;
Foo:out0 -> Bew:mux0;
Foo:out1 -> Bew:mux1;
Bew:clk -> Foo:ex0;
Gate[label="{ {a|b}|OR|{a\|b} }"];
Foo:hi -> Gate:a;
Foo:lo -> Gate:b;
Gate:ab -> Bew:signal;
}
私は、整列を得るための素敵な方法として、改行しないスペースを使用していたことに注意してください(私はそう思いました。) 00a0
charにつながります)
You can also employ HTML inside the label definitions, so you can use fonts, colors and create 'spacers': http://www.graphviz.org/doc/info/shapes.html#html
私はラベルを整列することは、HTMLノードで簡単になると思います。