【发布时间】:2021-09-26 17:26:00
【问题描述】:
我有两个由点渲染的图表:
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, fontname="Courier-Bold", fontsize=10, 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, fontname="Courier-Bold", fontsize=10, width=0.4, height=0.4, fixedsize=true]
edge[arrowsize=0.6, fontname="Courier-Bold", fontsize=10, 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]
}
}
第二张图与第一张图完全相同,只是它被包裹在子图中。无论出于何种原因,子图包装使得节点分离比正常范围更宽:
nodesep 属性不控制子图下的节点。有什么可以让节点放置恢复正常(如第一张图片所示)?
【问题讨论】:
-
也许this 可能有用?
-
@Sherif 我也看到了那个帖子,但我不知道它是否适用。但如果是这样,我不明白。也许对graphviz / dot有更好处理的人可以帮助我解开它。
-
您使用的是什么版本的 Graphviz(点 -V)以及什么操作系统。我在带有 graphviz 版本 2.43.0 的 Linux 上没有遇到这个问题。 p.s.看看rankep,而不是nodeep
-
@sroush 2.40.1 在 Alpine Linux 上。根据您的建议,在主图(而不是子图)上设置 rankep=0.25 可以修复渲染。但是,我不知道为什么。您对子图和节点ep/ranksep 的情况有任何见解吗?另外,如果您可以发表评论作为问题的答案,我可以接受它,以便您获得荣誉。