【问题标题】:Graphviz, changing the size of edgeGraphviz,改变边缘的大小
【发布时间】:2011-01-20 22:33:55
【问题描述】:

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

【问题讨论】:

    标签: graphviz dot


    【解决方案1】:

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

    我想做出的区分:

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

    【讨论】:

    • 出于某种原因,weight 属性对我没有任何改变。其余的非常有帮助,不过……谢谢!
    • 这对我很有帮助,尤其是图片 - 帮助我理解了这里的关系。 graphviz 的语法有点奇怪,所以这些漂亮的图像真的很有帮助。唯一的部分,如果我要改变上面的内容,那就是添加更多关于笔宽的解释,因为现在这些线条都是粗体(我改变了,多亏了上面的内容),但是周围的边框单个节点并不厚,这是我最初想做的。我最终可能会解决这个问题,但如果我忘记在这里发布解决方案,我只是添加它。 :)
    【解决方案2】:

    试试这个:

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

    【讨论】:

    • 其他答案包含更多详细信息并进行了详细解释,但是这个答案要简单得多,因此可以更快地阅读和理解!应该是研究引擎预览版。
    猜你喜欢
    • 1970-01-01
    • 2010-10-24
    • 2023-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多