Graphviz, зміна розміру краю


92

Як змінити розмір краю в крапці (graphviz)? Я хотів би зробити деякі краї "напівжирними".

Відповіді:


134

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

Різниця, яку я хотів зробити:

  • penwidth , коли використовується як властивість вузла (наприклад, "NodeA" [penwidth = 5]), впливає на вагу лінії кордону для цього вузла

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

  • якщо ви хочете , щоб змінити товщину лінії ребра, вам не потрібно змінювати PenWidth для двох вузлів , з'єднаних цим краєм (як відповідь shuvalev в може запропонувати)

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

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

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


З якихось причин weightвласність для мене нічого не змінює. Решта дуже корисна, хоча ... дякую!
clozach

Це було дуже корисно, зокрема із зображенням - допомогло мені зрозуміти стосунки тут. Синтаксис graphviz є дещо своєрідним, тому такі приємні зображення дійсно дуже допомогли. Єдиною частиною, якщо я змінив би вищезазначене, було б додати трохи більше пояснень щодо ширини ширини, оскільки зараз усі рядки виділені напівжирним шрифтом (я змінив це, завдяки вищезазначеному), але межа навколо окремі вузли не товщі, що я спочатку хотів зробити. Я можу врешті вирішити цю проблему, але якщо я забуду опублікувати рішення тут, я просто додаю це замість цього. :)
shevy

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.