Graphviz 在决定布局时忽略边缘

问题描述 投票:0回答:1

我在点图中有一条边,在布局过程中需要被其他边忽略。我尝试通过

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];

}

结果: The result

graphviz dot
1个回答
0
投票

如果constraint=false不充分,那么

  • 运行 dot -Tdot ... >myfile.dot 没有“忽略我”边缘
  • 使用文本编辑器,将“忽略我”边缘添加到 myfile.dot(几乎在最后一个大括号之前的任何地方)
© www.soinside.com 2019 - 2024. All rights reserved.