Подтвердить что ты не робот

Graphviz, изменяя размер края

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

4b9b3361

Ответ 1

Я хотел дополнить шувалов ответа. penwidth действительно является правильной командой. Кроме того, в шувалов отвечает penwidth как и node, так и свойство edge - тоже правильно.

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

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

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

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

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

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

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

Ответ 2

попробуйте следующее:

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

Ответ 3

У меня есть ребро между двумя узлами с dir = 'both' и двухцветным списком цветов 'red: blue'. Я получаю хороший край с двумя наконечниками стрел, один красный и синий, а сама линия края имеет толщину, где 50% ширины - красный, а другие 50% - синий.

Если я увеличу толщину края с помощью pensize = 5, то ширина края увеличится, но теперь она на 10-20% красная и на 80-90% синяя.

Как мне увеличить ширину края с помощью dir = оба, и при этом сохранить цветное разделение края 50:50?

Спасибо

Эд Мазурек