Graphviz点如何对齐看似未对齐的边缘

问题描述

我正在尝试使用Graphviz建立家谱。但是我并不总是对Graphviz时不时地对齐某些边缘的方式感到满意。我试图将我的大家族树分解为最少的样本,但并非所有“错位”都会出现。

这是示例代码

digraph familytree {
 edge [dir=none];
 node [shape=Box];
 graph [splines=ortho];

diamond1 [shape=diamond,label="",height=0.3,width=0.3]
diamond2 [shape=diamond,width=0.3]
diamond3 [shape=diamond,width=0.3]
diamond4 [shape=diamond,width=0.3]
diamond5 [shape=diamond,width=0.3]
diamond6 [shape=diamond,width=0.3]
diamond7 [shape=diamond,width=0.3]

point1 [shape=circle,height=0.1,width=0.1];
point2 [shape=circle,width=0.1];
point3 [shape=circle,width=0.1];
point4 [shape=circle,width=0.1];

person1;
person2;
person3;
person4;
person5;
person6; 
person7;
person9;
person10;
person11;
person12;
person13;
person14;
person15;
person16;
person17;
person18;
person19;

{rank=same; person1 -> diamond1 -> person2}

diamond1 -> point1;
point1 -> person3;
point1 -> person4;
point1 -> person5;
point1 -> person18;
point1 -> person19;


{rank=same; person5 -> diamond2 -> person6}
{rank=same; person3 -> diamond3 -> person9}

point2 -> person7;
diamond2 -> point2;

point3 -> person10;
point3 -> person11;
diamond3 -> point3;

{rank=same; person17 -> diamond7 -> person11}
{rank=same; person10 -> diamond4 -> person12}

point4 -> person13;
point4 -> person14;
diamond4 -> point4;

{rank=same; person13 -> diamond5 -> person15}
{rank=same; person14 -> diamond6 -> person16}
}

是否可以允许Graphviz覆盖这些边缘:

enter image description here

我知道这可能不是真正的未对准,但是否可以允许边缘覆盖?

此外,在图形的特定大小处,以点结尾的边似乎也未对齐。很抱歉,我无法通过一个小样本重现此问题,但这是我的那棵大树的屏幕截图:

enter image description here

Graphviz为什么要这样做,我可以强制边缘始终进入点中心吗?

预先感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)