Графвиз, изменение размера края

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


person name    schedule 25.02.2010    source источник


Ответы (2)


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

Я хотел провести различие:

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

  • Penwidth, когда используется в качестве свойства края, влияет на толщину линии края (значение по умолчанию - "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.]
}

введите описание изображения здесь

person doug    schedule 02.03.2010
comment
Почему-то свойство weight для меня ничего не меняет. Остальное очень полезно, хотя… спасибо! - person clozach; 24.02.2018
comment
Это было очень полезно, особенно с изображением - помогло мне понять отношения здесь. Синтаксис graphviz немного своеобразен, поэтому такие красивые изображения очень помогли. Единственная часть, если бы я изменил приведенное выше, было бы добавить немного больше пояснений в отношении ширины пера, потому что сейчас все строки жирные (я изменил это, благодаря вышеизложенному), но граница вокруг отдельные узлы не толще, что я изначально хотел сделать. В конце концов, я могу решить эту проблему, но если я забуду опубликовать решение здесь, я просто добавлю его. :) - person shevy; 23.12.2019

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

"NodeA" [ penwidth = 5]
"NodeB" [ penwidth = 5]
NodeA->NodeB [ penwidth = 3]
person shuvalov    schedule 25.02.2010