Graphviz,改变边缘的大小

nam*_*ame 83 dot graphviz

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

dou*_*oug 125

我想补充舒瓦洛夫的答案.penwidth确实是正确的命令.此外,在舒瓦洛夫的回答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.]
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


shu*_*lov 20

试试这个:

"NodeA" [ penwidth = 5]
"NodeB" [ penwidth = 5]
NodeA->NodeB [ penwidth = 3]
Run Code Online (Sandbox Code Playgroud)