Graphviz,改变边缘的大小

标签 graphviz dot

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

最佳答案

我想补充shuvalov的答案。 penwidth确实是正确的命令。此外,在 shuvalov 的回答中,penwidth 既是节点又是边属性 - 也是正确的。

我想要做出的区分:

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

  • penwidth,用作边缘时 属性影响线宽 边缘(默认值为“1”, 指定 penwidth=2 将使 边缘以粗体类型出现

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

  • 对于有向图(边有 方向)您可能还希望更改 箭头的尺寸/重量以及 箭头尾,以及边缘 重量,这样三个都保留 比例

  • 边的长度可以更改 通过设置 weight 属性,如 其他地方,默认值为1.0; 增加该值会增加 期间拉伸(stretch)该边缘的成本 渲染(即绘图 算法应用更高的惩罚 解决方案,其中这条边是 更长);请注意,从 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

关于Graphviz,改变边缘的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2333025/

相关文章:

doxygen - sh : dot: command not found + doxygen + Lion

python - sphinx 生成类模块概述

graphviz - 在 Graphviz 中合并图形

graphviz - 等级属性让我感到困惑

graphviz - 如何强制 Graphiz 工具(dot、neato...)接受某些初始节点放置

graphviz - DOT 能否生成更结构化的图?

c++ - 在 boost 中从 graphviz 读取的问题

tree - 在 graphviz/点树可视化中强制左右节点顺序

形状=圆形的节点的大小

c++ - 无法使用点布局(graphviz 作为库)