Графвиз, изменение размера ребра - PullRequest
81 голосов
/ 25 февраля 2010

Как изменить размер ребра в точке (графвиз)? Я хотел бы сделать некоторые края "жирными".

Ответы [ 2 ]

121 голосов
/ 02 марта 2010

Я хотел дополнить ответ Шувалова. penwidth действительно правильная команда. Кроме того, в ответе Шувалова penwidth равно и узлу и свойству ребра - тоже правильно.

Различие, которое я хотел сделать:

  • ширина полосы пропускания , при использовании в качестве узла свойство (например, "NodeA" [penwidth = 5]) влияет на вес линии границы для этого узла

  • ширина ручки , при использовании в качестве края свойство влияет на вес линии край (значение по умолчанию "1", указание penwidth = 2 сделает края появляются в полужирный тип

  • если вы хотите изменить вес строки края, вам не нужно менять ширина полосы для двух узлов связаны этим краем (как Шувалева ответ может предложить)

  • для ориентированного графа (ребра имеют направление) вы также можете изменить размер / вес стрелки и Хвост , вместе с ребром вес , так что все три остаются пропорциональный

  • длина кромки может быть изменена установив свойство weight , как в других местах значение по умолчанию равно 1,0; увеличение этого значения увеличивает стоимость растяжения этого края во время рендеринг (то есть чертеж алгоритм применяет более высокий штраф к решения, в которых этот край больше); обратите внимание, что край от 1 до 4 короче, чем край от 1 до 2.

Следующий код должен иллюстрировать все это. Визуализированный график показан под кодом.

digraph {
    /* declare the node & style them */
    "Node 1" [shape=diamond, penwidth=3, style=filled, fillcolor="#FCD975"];
    "Node 2" [style=filled,fillcolor="#9ACEEB" ];
    "Node 3" [shape=diamond, style=filled, fillcolor="#FCD975" ];
    "Node 4" [style=filled, fillcolor="#9ACEEB" ]

    /* declare the edges & style them */
    "Node 1" -> "Node 2" [dir=none, weight=1, penwidth=3] ;
    "Node 1" -> "Node 3" [dir=none, color="#9ACEEB"] ;
    "Node 1" -> "Node 4" [arrowsize=.5, weight=2.]
}

enter image description here

20 голосов
/ 25 февраля 2010

попробуйте это:

"NodeA" [ penwidth = 5]
"NodeB" [ penwidth = 5]
NodeA->NodeB [ penwidth = 3]
...