如何在GraphViz中动态增加两个节点之间的距离?

我正在使用此Python项目"Family Tree Maker"来生成家谱。它可以与GraphViz一起使用,创建一个漂亮的DOT文件,然后创建一个PNG。 “最小可行产品”检查。它有效:D

如何在GraphViz中动态增加两个节点之间的距离?

现在,我想使其更好一点。

有没有简单的方法(例如,不必增加每只手的边缘长度)强制最右边的垂直边缘(在Father1-Mother2和弗朗兹)要像下面显示的那样是笔直/垂直吗?

如何在GraphViz中动态增加两个节点之间的距离?

谢谢!

编辑:正如@a​​lbert在评论中正确指出的那样,webgraphviz.com显示正确的输出,而viz-js.com不显示。

PS:这是生成此图的DOT代码:

digraph {
graph [splines=ortho];
node [shape=box,fontname = "calibri"];
edge [dir=none];

Father1[label="Father1",style=filled,fillcolor=azure2];
Mother1[label="Mother1",fillcolor=bisque];
Child1[label="Child 1",fillcolor=azure2];
Child2[label="Child 2",fillcolor=bisque];
Child3[label="Child 3",fillcolor=azure2];
Child4[label="Child 4",fillcolor=azure2];
Mother2[label="Mother2",fillcolor=bisque];
Franz[label="Franz",fillcolor=azure2];

{ rank=same;
    Mother1 -> h0 -> Father1;
    h0[shape=circle,label="",height=0.01,width=0.01];
    Father1 -> h1 -> Mother2;
    h1[shape=circle,width=0.01];
}
{ rank=same;
    h0_0 -> h0_1 -> h0_2 -> h0_3 -> h0_4;
    h0_0[shape=circle,width=0.01];
    h0_1[shape=circle,width=0.01];
    h0_2[shape=circle,width=0.01];
    h0_3[shape=circle,width=0.01];
    h0_4[shape=circle,width=0.01];
    h0_4 -> h1_0 [style=invis];
    h1_0;
    h1_0[shape=circle,width=0.01];
}
    h0 -> h0_2;
    h0_0 -> Child1;
    h0_1 -> Child2;
    h0_3 -> Child3;
    h0_4 -> Child4;
    h1 -> h1_0;
    h1_0 -> Franz;
{ rank=same;
    Child1 -> Child2 [style=invis];
    Child2 -> Child3 [style=invis];
    Child3 -> Child4 [style=invis];
    Child4 -> Franz [style=invis];
}
{ rank=same;
}
}
aaa925168 回答:如何在GraphViz中动态增加两个节点之间的距离?

在评论中与@Albert讨论之后,使用GraphViz 2.28版,正如我预期的那样,我得到了想要的结果。

我在GraphViz的Gitlab上创建了一个问题报告:https://gitlab.com/graphviz/graphviz/issues/1627

本文链接:https://www.f2er.com/3118006.html

大家都在问