Graphviz,改变边缘的大小

时间:2010-02-25 09:47:22

标签: graphviz dot

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

2 个答案:

答案 0 :(得分:117)

我想补充舒瓦洛夫的答案。 penwidth 确实是正确的命令。此外,在shuvalov的回答 penwidth 一个节点和一个边缘属性 - 也是正确的。

我想做的区别:

  • penwidth ,用作节点时 属性(例如,“NodeA”[penwidth = 5])影响边界线重量 对于该节点

  • penwidth ,用作边缘 财产影响线路重量 边缘(默认值为“1”, 指定penwidth = 2将使 边缘以粗体类型

  • 显示
  • 如果您想更改线宽 边缘,你不需要改变 两个节点的 penwidth 通过那边连接(如shuvalev的 答案可能会建议)

  • 用于有向图(边缘有 一个方向)你可能也希望改变 箭头的大小/重量 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.]
}

enter image description here

答案 1 :(得分:19)

试试这个:

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