Чтобы задать стиль ребер (или узлов) по группе , а не по отдельности, используйте подграф .
вроде так:
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"; затем визуализируем его в графике, вы увидите три различных типов ребер, с точки зрения внешнего вида.
По умолчанию используется только один тип (цвет = черный, толщина = 1 и т. Д.), Т. Е. Эти ребра не назначены для подграфа.
Другие два типа ребер (тонкая темно-зеленая группа и толстая ярко-желтая группа) оформляются на основе присвоения одному из двух кластеров подграфа.
Подграф часто используется для визуального выделения кластера узлов (то есть, чтобы отличить конкретную непрерывную «группу» узлов от остальных узлов в графе); тем не менее, нет требования (как вы можете видеть из моего примера), что ребра, которые вы выбрали для стилизации путем присвоения данному подграфу, принадлежат непрерывной «группе» узлов - вы можете назначить любые ребра, которые вы хотите назначить для данный подграф.)
для меня стилизация узлов по группам аналогична практике HTML определения класса и присвоения его коллекции div в разметке HTML