gpt4 book ai didi

graphviz - 强制两个节点在 Graphviz 中占据相同的等级?

转载 作者:行者123 更新时间:2023-12-04 15:26:14 25 4
gpt4 key购买 nike

使用 ruby​​-graphviz,我创建了一个如下所示的图形(添加边框以强调渲染边界):

Before

我真正想要的是 A 和 K 在顶部(或左侧,如果 rankdir="LR")排列在一起。所以我添加了一个不可见的节点(称之为 X),并添加了从 X 到 A 和 K 的不可见边。 这是我得到的:

After

X、XA 和 XK 没有标签,并且样式设置为“invis”。
X 的高度、宽度和边距设置为 0,fixedsize 设置为 true。
XA 和 XK 的 minlen、len 和 penwidth 设置为 0。

但是顶部仍然有那个空位。有没有办法摆脱它,事后没有裁剪?

最佳答案

您不需要隐形节点来实现这一点。

这是强制两个节点具有相同等级的点语法:

{rank=same; A; K;}

这称为 subgraph .

我不知道 ruby​​-graphviz,我不确定如何创建子图 - 但有一个 example on github :
c2 = g.subgraph { |c|
c[:rank => "same"]
c.mysite[:label => "\nexample.com\n ", :shape => "component", :fontname => "Arial"]
c.dotgraph[:label => "\ndotgraph.net\n ", :shape => "component", :fontname => "Arial"]
}

关于graphviz - 强制两个节点在 Graphviz 中占据相同的等级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7525934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com