有多个问题,例如这里、这里和这里。询问如何在 Graphviz 中强制连接器的直边(点)。
答案包括:
splines=line;
splines=false;
(如何)在此示例中,我可以强制将直接连接器从一条记录的顶部连接到另一条记录,而无需求助于不可见节点(如果可能)?
digraph select {
splines=line;
// splines=false;
node [shape=record];
rec1 [label="<f0> left|<f1> middle|<f2> right"];
rec1:f0:n -> rec1:f2:n;
}
编辑:有人问了一个问题 - 如果是一条记录,那么记录怎么会有连接边,又怎么可能不是直的?
一条记录可以指向其自身的不同部分。问题是如何让它变直,即以 90 度角出去,然后以 90 度角转动,然后连接?
这里是后处理器的链接,它将“修复”由 Graphviz 布局引擎创建的简单边缘。 它可以创建简单的弯曲边缘、正交边缘和/或直边缘。
用法是:
dot myfile.gv | gvpr -cf alterSimpleEdge.gvpr | neato -n2 -Tpng >myfile.png
输入和结果示例:
digraph {
node [shape=record]
R [label="<1>1|<2>2|<3>3|<4>4|<5>5|<6>6|<7>7|<8>8|<9>9|<10>10"]
R:2:n -> R:4:n [edgeType=ortho3 edgeDirection=cw edgeOffset="18pt" ]
R:5 -> R:8 [edgeType=ortho3 edgeDirection=cw edgeOffset="18pt" ]
R:10:n -> R:3:n [edgeType=ortho3 edgeDirection=ccw edgeOffset="26pt" ]
node [shape=record];
rec1 [label="<f0> left|<f1> middle|<f2> right"];
rec1:f0:n -> rec1:f2:n [edgeType=ortho3 edgeDirection=cw edgeOffset="18pt"]
}