Как присвоить тот же стиль группе краев?

У меня есть график, что я хочу graphviz к расположению и визуализирую для меня. График имеет 122 края и 123 узла. Края являются 4 различными видами, и я хочу, чтобы они были визуально различимы. Однако я еще не решил то, что было бы лучшим способом сделать это, я хотел бы играть вокруг с наборами немного.

К сожалению, я не вижу, что что-либо как "класс" или "таблица стилей" приписывает для краев. Я могу только установить визуальные атрибуты индивидуально для каждого края (большое повторение). Возможно, я пропустил что-то? Есть ли, возможно, некоторый путь, в конце концов, чтобы добавить края к 4 различным группам и затем разработать группы, не каждый край индивидуально?

23
задан TylerH 14 April 2019 в 15:44
поделиться

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 и т. Д.), То есть эти края не присвоены подграфу.

Два других типа ребер (тонкая темно-зеленая группа и толстая ярко-желтая группа) стилизованы на основе присвоения одному из двух кластеров подграфов.

Подграф часто используется для визуального выделения кластера узлов (то есть, чтобы отличить конкретную непрерывную «группу» узлов от остальных узлов в графе); однако нет требования (как вы можете видеть из моего примера), чтобы ребра, которые вы выбрали для стилизации путем присвоения заданному подграфу, принадлежали к непрерывной `` группе '' узлов - вы можете назначить любые ребра, которые хотите назначить для для данного подграфа.)

для меня стилизация узлов по группам аналогична практике HTML по определению класса и назначению его коллекции div в разметке HTML

33
ответ дан 29 November 2019 в 01:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: