Ответ 1
Чтобы стиль ребер (или узлов) по группе, а не отдельно, используйте подграф.
так:
digraph G {
node [style=filled,color="#5D8AA8", fillcolor="#5D8AA8"];
subgraph c1 {
edge [color="#004225", arrowsize="0.6", penwidth="1"];
"node 1" -> "node 3";
"node 5" -> "node 7";
"node 1" -> "node 2";
label = "";
}
subgraph c2 {
edge [color="#FBEC5D", arrowsize="1.2", penwidth="3"];
"node 2" -> "node 4";
"node 4" -> "node 6";
"node 3" -> "node 5";
"node 6" -> "node 8";
label = "";
}
begin -> "node 1";
start -> "node 2";
"node 1" -> "node 4"
"node 2" -> "node 6";
start [shape=diamond];}
Итак, если вы поместите код выше в файл с расширением ".dot"; затем визуализируйте его в graphviz, вы увидите три разные типы ребер, внешний вид.
Один тип - это только по умолчанию (цвет = черный, толщина = 1 и т.д.) - то есть эти ребра не назначаются подграфу.
Другие два типа ребер (тонкая, темно-зеленая группа и толстая ярко-желтая группа) стилизованы на основе присвоения одному из двух кластеров подграфов.
Подграф часто используется для визуального выделения кластера node (т.е. для выделения конкретной смежной "группы" узлов из остальных узлов на графике); однако, нет требования (как вы можете видеть из моего примера), что ребра, которые вы выбрали для стиля путем присвоения данному подграфу, относятся к смежной "группе" узлов - вы можете обозначить любые края, которые вы хотите присвоить, данный подграф.)
для меня, моделирование узлов по группам аналогично практике HTML определения класса и присвоения его коллекции divs в HTML-разметке