如何更改点中边缘的大小(graphviz)?我想让一些边缘“加粗”。
问问题
52268 次
2 回答
149
我想补充舒瓦洛夫的回答。penwidth确实是正确的命令。此外,在 shuvalov 的回答中penwidth既是节点又是边缘属性——也是正确的。
我想做出的区分:
penwidth,当用作节点属性时(例如,“NodeA” [penwidth = 5])会影响该节点的边框线宽
penwidth,当用作边缘属性时会影响边缘的线宽(默认值为“1”,指定 penwidth=2 将使边缘以粗体显示
如果要更改边缘的线宽,则无需更改 由该边缘连接的两个节点的笔宽(如shuvalev的回答可能建议的那样)
对于有向图(边有方向),您可能还希望更改arrowhead和 arrowtail的大小/权重以及边权重,以便所有三个保持比例
边的长度可以通过设置weight属性来改变,和其他地方一样,默认值为 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.]
}
于 2010-03-02T14:55:07.840 回答
25
试试这个:
"NodeA" [ penwidth = 5]
"NodeB" [ penwidth = 5]
NodeA->NodeB [ penwidth = 3]
于 2010-02-25T09:52:26.873 回答