微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。