Graphviz,改变边缘的大小

如何改变点(graphviz)边缘的大小? 我想使一些边缘“粗体”。

我想补充舒瓦洛夫的答案。 笔宽确实是正确的命令。 另外,在shuvalov的回答中, penwidth 既是节点也是边缘属性 – 也是正确的。

我想要做的区别是:

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

  • 当用作边缘属性时, 笔画会影响边缘的线条权重(默认值为“1”,指定penwidth = 2将使边缘以粗体显示

  • 如果你想改变一条边的线宽,你不需要改变这个边所连接的两个节点的线宽(就像shuvalev的回答可能提示的那样)

  • 对于有向图 (边有一个方向),您可能还希望改变箭头箭头的大小/重量以及边的重量 ,以使所有三个都保持成比例

  • 边的长度可以通过设置weight属性来改变,与其他地方一样,默认值为1.0; 增加该值会增加在渲染过程中拉伸该边缘的成本(即,绘图algorithm对该边缘更长的解决scheme施加更高的惩罚); 请注意,从1到4的边比从1到2的边要短。

下面的代码应该说明所有这一切。 呈现的graphics显示在代码下面。

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.] } 

在这里输入图像说明

尝试这个:

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