Одинаковые узлы, разные кулинги в Graphviz - PullRequest
4 голосов
/ 31 августа 2011

У меня есть простой ориентированный граф в Графвизе с двумя видами узлов и ребер. Каждый вид имеет свой цвет. Моя проблема в том, что я хотел бы сохранить, как график рисуется, но просто изменить цвета. Однако когда я меняю имена узлов в определениях двух узлов, график меняет свой макет.

node [shape = circle, width = 0.95, fixedsize = true, style = filled, fillcolor = palegreen] 3 "4-5" 7 "8-9" 10 18 19
node [shape = circle, width = 0.95, fixedsize = true, style = filled, fillcolor = grey]  11 12 "13-14"

Есть ли способ заставить его к одному статическому макету?

1 Ответ

8 голосов
/ 31 августа 2011

Порядок , в котором определены узлы, влияет на макет.

Если вы хотите сохранить макет и изменить только цвета узлов, то вы 'Вам нужно будет сохранить порядок (первого) появления узлов и изменить только их атрибут fillcolor.

Например:

digraph g {
  node [shape = circle, width = 0.95, fixedsize = true, style = filled, fillcolor = palegreen];
  3;
  "4-5";
  7;
  "8-9";
  10 [fillcolor = grey];
  18;
  19;
  // new default fillcolor
  node [fillcolor = grey];
  11;
  12 [fillcolor = palegreen];
  "13-14";
}

В результате

fillcolor nodes

Вы можете указать атрибуты по умолчанию , используя инструкцию node [fillcolor = grey], и переопределить значения по умолчанию на определенном узле, если это необходимо(12 [fillcolor = palegreen]).

...