在Graphviz中,如何将边与节点的顶部中心对齐?
在Graphviz/dot中,是否有可能使边精确地连接在节点的顶部中心?阅读dot指南时,我认为在Graphviz中,如何将边与节点的顶部中心对齐?,graphviz,dot,Graphviz,Dot,在Graphviz/dot中,是否有可能使边精确地连接在节点的顶部中心?阅读dot指南时,我认为尾港和头港会对我有所帮助,但添加它们并没有什么区别,有时会得到更奇怪的结果 这就是我得到的: 这就是我想要的: 我用来获取(不正确)图形的代码是: digraph G { graph [splines = ortho]; node [shape = box]; edge [dir = none]; { rank = same A AB [shape =
尾港
和头港
会对我有所帮助,但添加它们并没有什么区别,有时会得到更奇怪的结果
这就是我得到的:
这就是我想要的:
我用来获取(不正确)图形的代码是:
digraph G {
graph [splines = ortho];
node [shape = box];
edge [dir = none];
{
rank = same
A
AB [shape = point]
B
A -> AB
AB -> B
}
{
rank = same
point1 [shape = point]
point2 [shape = point]
point3 [shape = point]
}
AB -> point1
// The following section if to make the nodes appear in
// the correct order, not sure if there's a better way
{
edge [style = invisible]
rank = same
C
D
E
F
C -> D
D -> E
}
point2 -> point1
point2 -> C
point1 -> point3
point3 -> E
point1 -> D
}
事实证明,最新版本(2.38)在Mac OS X Yosemite中无法正常工作,我不得不降级到2.36,如中所述。我在Windows7下看到了相同的效果-没有尝试其他平台 我试着摆弄“港口位置”,看到了吗 e、 g.将代码的最后一行更改为
point2 -> point1
point2 -> C:nw
point1 -> point3
point3 -> E:ne
point1 -> D
使连接线的位置(稍微)更好。注意
spline=ortho
不支持tailport
或headport
(请参阅:)C
或F
)将代码复制粘贴到中会产生正确的结果。您使用的是最新版本的graphviz吗?@marapet谢谢!事实证明,最新版本(2.38)在Mac OS X Yosemite中无法正常工作,我不得不将其降级至2.36,如下载页面所述:如果您将此作为答案发布,我将接受,再次感谢!我很高兴你明白了!既然您完成了所有的工作,您应该添加并接受您自己的答案;)
graph {
splines=ortho;
{0, 1, 2, 3 [width=0, shape=point, style=invis];}
{rank=same; 1 -- 2 -- 3;}
0 -- 2;
node [shape=box];
{rank=same; A -- 0 -- B;}
1 -- C;
1 -- D;
3 -- E;
3 -- F;
}