Я хочу реализовать следующий макет с точкой:
Пока что у меня есть вот что:
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, а не только справа? Я еще не смог этого понять.
Можно ли разместить краевые метки последовательно над или под краем?
Как я могу выровнять правые узлы по левому краю, а левые по правому краю? Можно было бы сделать их одинаковой ширины, что было бы нормально.
Спасибо!!
ОБНОВИТЬ:
Основываясь на принятом ответе, я сейчас делаю то, что мне было нужно, снова сгенерированное через точку, переданную в neato, как упоминалось выше:
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"];
}
pySVG
и т.п. - person sehe   schedule 28.10.2011