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]