首页 文章

Graphviz,改变边缘的大小

提问于
浏览
78

如何更改点(graphviz)中边的大小?我想把一些边缘“加粗” .

2 回答

  • 19

    我想补充舒瓦洛夫的答案 . penwidth 确实是正确的命令 . 此外,在shuvalov的答案中,penwidth既是节点又是边缘属性 - 也是正确的 .

    我想做的区别:

    • penwidth用作节点属性(例如,"NodeA" [penwidth = 5])会影响该节点的边界线权重

    • penwidth,当用作边缘属性时会影响边线的线宽(默认值为"1",指定penwidth = 2将使边缘出现在 bold 类型中

    • 如果你想改变边的线宽,你不需要改变由该边连接的两个节点的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.]
    }
    

    enter image description here

  • 116

    试试这个:

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

相关问题