微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Graphviz不需要的子图节点分离拉伸

如何解决Graphviz不需要的子图节点分离拉伸

我有两个由点呈现的图形:

   graph G {
    graph[rankdir=LR]
    node[shape=circle,fontname="Courier-Bold",fontsize=10,width=0.4,height=0.4,fixedsize=true]
    edge[arrowsize=0.6,arrowhead=vee]
    v0 -- i0 [label=11]
    v1 -- i0 [label=2]
    v2 -- i0 [label=10]
    i0 -- i1 [label=4]
    i1 -- i2 [label=3]
    i2 -- v3 [label=3]
    i2 -- v4 [label=4]
    i1 -- v5 [label=0,style=dashed]
   }
   graph G {
    graph[rankdir=LR]
    node[shape=circle,arrowhead=vee]
    subgraph cluster_two {
     fontname="Courier-Bold"
     fontsize=10
     v0 -- i0 [label=11]
     v1 -- i0 [label=2]
     v2 -- i0 [label=10]
     i0 -- i1 [label=4]
     i1 -- i2 [label=3]
     i2 -- v3 [label=3]
     i2 -- v4 [label=4]
     i1 -- v5 [label=0,style=dashed]
    }
   }

第二个图与第一个完全相同,只是它被子图包裹。无论出于何种原因,子图包装使得节点分隔比正常范围宽得多:

Graph 1 output

Graph 2 output

nodesep 属性不控制子图下的节点。有什么方法可以让节点放置恢复正常(如第一张图所示)?

解决方法

Ranksep 是设置从一个等级到下一个等级的距离的属性。 Ranksep 是图形级别的属性。设置后,它适用于整个图形。这对于 nodesep 也是如此,除了 nodesep 设置 相同 等级上两个 相邻 节点之间的距离。 附言2.40.1 是一个相当老的版本。在过去 18 个月左右的时间里,已经应用了许多修复程序(我不相信)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。