我在点图中有一条边,在布局过程中需要被其他边忽略。我尝试通过
dot
提供代码的第一部分,然后在下面添加虚线边缘,但是其他实体边缘仍然受到它们的影响。
代码:
digraph structs {
rankdir=LR
edge [tailclip=false];
node [shape=record];
header [label="{<0> |<1> header|<2> }"];
data0 [label="{<0> |<1> data0|<2> }"];
data1 [label="{<0> |<1> data1|<2> }"];
trailer [label="{<0> |<1> trailer|<2> }"];
header -> data0 -> data1 -> trailer [style=invis, weight=100];
edge [arrowhead=vee, arrowtail=dot, dir=both, weight=40];
header:2:c -> data0:1:n;
data0:0:c -> header:1:s;
data0:2:c -> data1:1:n;
data1:0:c -> data0:1:s;
data1:2:c -> trailer:1:n ;
trailer:0:c -> data1:1:s;
edge [constraint=false, style=dashed, weight=0, layer=1];
data0:2:c -> trailer:1:n [weight=0];
trailer:0:c -> data0:1:s [weight=0];
}
如果constraint=false不充分,那么
neato -n2 -Tpng myfile.dot >myfile.png
。 neato -n2 将尊重(保留)所有 dot's 定位,但将为添加的边缘进行布局。 (参见https://www.graphviz.org/faq/#FaqDotWithCoords)