【问题标题】:Graphviz - how to space out the portsGraphviz - 如何分隔端口
【发布时间】:2021-12-29 06:39:52
【问题描述】:

在一个节点上有很多边,“端口”(边与节点连接的地方)聚集得太近并且重叠。

有空间将端口分散开。有没有办法“证明”端口间距?

我有read the docs,但没有找到任何东西。我希望要么增加端口数量,要么找到另一种解决方案。我已经增加了边距以增加节点大小并为边缘提供更多空间:

B [label=B margin=1.6]

示例代码:

digraph {
    B [label=B margin=1.6]
    C [label=C margin=1.6]
    D [label=D margin=1.6]
    F [label=F margin=1.6]
    G [label=G margin=1.6]
    H [label=H margin=1.6]
    J [label=J margin=1.6]
    K [label=K margin=1.6]
    L [label=L margin=1.6]
    M [label=M margin=1.6]
    N [label=N margin=1.6]
    P [label=P margin=1.6]
    Q [label=Q margin=1.6]
    R [label=R margin=1.6]
    S [label=S margin=1.6]
    T [label=T margin=1.6]
    V [label=V margin=1.6]
    W [label=W margin=1.6]
    X [label=X margin=1.6]
    Y [label=Y margin=1.6]
    Z [label=Z margin=1.6]
    B -> C [arrowhead=invdot arrowtail=dot dir=both]
    B -> D [arrowhead=normal arrowtail=odot dir=both]
    F -> B [arrowhead=empty arrowtail=odot dir=both]
    G -> B [arrowhead=invdot arrowtail=odot dir=both]
    B -> H [arrowhead=empty arrowtail=odot dir=both]
    J -> B [arrowhead=normal arrowtail=dot dir=both]
    B -> K [arrowhead=normal arrowtail=dot dir=both]
    L -> B [arrowhead=invodot arrowtail=dot dir=both]
    M -> B [arrowhead=empty arrowtail=dot dir=both]
    B -> N [arrowhead=invdot arrowtail=odot dir=both]
    P -> B [arrowhead=invdot arrowtail=odot dir=both]
    B -> Q [arrowhead=empty arrowtail=dot dir=both]
    B -> R [arrowhead=invdot arrowtail=dot dir=both]
    S -> B [arrowhead=invodot arrowtail=dot dir=both]
    B -> T [arrowhead=invdot arrowtail=odot dir=both]
    B -> V [arrowhead=normal arrowtail=dot dir=both]
    B -> W [arrowhead=invodot arrowtail=odot dir=both]
    B -> X [arrowhead=invdot arrowtail=dot dir=both]
    B -> Y [arrowhead=invodot arrowtail=odot dir=both]
    B -> Z [arrowhead=invdot arrowtail=odot dir=both]
    C -> B [arrowhead=normal arrowtail=dot dir=both]
    D -> C [arrowhead=invdot arrowtail=odot dir=both]
    F -> C [arrowhead=invodot arrowtail=odot dir=both]
    C -> G [arrowhead=invodot arrowtail=dot dir=both]
    H -> C [arrowhead=invdot arrowtail=dot dir=both]
    C -> J [arrowhead=invdot arrowtail=odot dir=both]
    C -> K [arrowhead=invodot arrowtail=odot dir=both]
    C -> L [arrowhead=invodot arrowtail=dot dir=both]
    M -> C [arrowhead=invdot arrowtail=dot dir=both]
    N -> C [arrowhead=invodot arrowtail=dot dir=both]
    P -> C [arrowhead=empty arrowtail=dot dir=both]
    Q -> C [arrowhead=invodot arrowtail=odot dir=both]
    R -> C [arrowhead=normal arrowtail=dot dir=both]
    C -> S [arrowhead=invodot arrowtail=dot dir=both]
    T -> C [arrowhead=invodot arrowtail=dot dir=both]
    C -> V [arrowhead=invodot arrowtail=odot dir=both]
    C -> W [arrowhead=normal arrowtail=odot dir=both]
    X -> C [arrowhead=normal arrowtail=dot dir=both]
    Y -> C [arrowhead=normal arrowtail=odot dir=both]
    C -> Z [arrowhead=normal arrowtail=odot dir=both]
    D -> B [arrowhead=invdot arrowtail=dot dir=both]
    D -> C [arrowhead=normal arrowtail=odot dir=both]
    D -> F [arrowhead=normal arrowtail=odot dir=both]
    D -> G [arrowhead=normal arrowtail=dot dir=both]
    D -> H [arrowhead=invodot arrowtail=odot dir=both]
    J -> D [arrowhead=invdot arrowtail=dot dir=both]
    K -> D [arrowhead=normal arrowtail=odot dir=both]
    D -> L [arrowhead=empty arrowtail=odot dir=both]
    D -> M [arrowhead=invdot arrowtail=dot dir=both]
    D -> N [arrowhead=normal arrowtail=dot dir=both]
    D -> P [arrowhead=invdot arrowtail=odot dir=both]
    D -> Q [arrowhead=empty arrowtail=odot dir=both]
    R -> D [arrowhead=invodot arrowtail=odot dir=both]
    S -> D [arrowhead=empty arrowtail=dot dir=both]
    D -> T [arrowhead=empty arrowtail=dot dir=both]
    V -> D [arrowhead=empty arrowtail=odot dir=both]
    W -> D [arrowhead=empty arrowtail=dot dir=both]
    D -> X [arrowhead=empty arrowtail=dot dir=both]
    Y -> D [arrowhead=invodot arrowtail=dot dir=both]
    D -> Z [arrowhead=empty arrowtail=odot dir=both]
    F -> B [arrowhead=normal arrowtail=dot dir=both]
    C -> F [arrowhead=invodot arrowtail=odot dir=both]
    F -> D [arrowhead=normal arrowtail=dot dir=both]
    G -> F [arrowhead=normal arrowtail=odot dir=both]
    F -> H [arrowhead=empty arrowtail=odot dir=both]
    J -> F [arrowhead=empty arrowtail=dot dir=both]
    K -> F [arrowhead=invodot arrowtail=odot dir=both]
    F -> L [arrowhead=invodot arrowtail=odot dir=both]
    F -> M [arrowhead=empty arrowtail=odot dir=both]
    F -> N [arrowhead=invdot arrowtail=odot dir=both]
    P -> F [arrowhead=empty arrowtail=odot dir=both]
    F -> Q [arrowhead=empty arrowtail=odot dir=both]
    F -> R [arrowhead=invdot arrowtail=odot dir=both]
    F -> S [arrowhead=empty arrowtail=dot dir=both]
    T -> F [arrowhead=normal arrowtail=odot dir=both]
    V -> F [arrowhead=empty arrowtail=dot dir=both]
    W -> F [arrowhead=empty arrowtail=odot dir=both]
    F -> X [arrowhead=normal arrowtail=odot dir=both]
    Y -> F [arrowhead=invodot arrowtail=dot dir=both]
    Z -> F [arrowhead=invodot arrowtail=odot dir=both]
    G -> B [arrowhead=empty arrowtail=dot dir=both]
    C -> G [arrowhead=empty arrowtail=odot dir=both]
    G -> D [arrowhead=empty arrowtail=odot dir=both]
    F -> G [arrowhead=empty arrowtail=odot dir=both]
    H -> G [arrowhead=invodot arrowtail=odot dir=both]
    G -> J [arrowhead=invodot arrowtail=odot dir=both]
    G -> K [arrowhead=empty arrowtail=odot dir=both]
    G -> L [arrowhead=invdot arrowtail=dot dir=both]
    G -> M [arrowhead=empty arrowtail=dot dir=both]
    G -> N [arrowhead=empty arrowtail=odot dir=both]
    G -> P [arrowhead=invdot arrowtail=odot dir=both]
    Q -> G [arrowhead=invdot arrowtail=dot dir=both]
    R -> G [arrowhead=invdot arrowtail=dot dir=both]
    G -> S [arrowhead=invdot arrowtail=odot dir=both]
    G -> T [arrowhead=empty arrowtail=dot dir=both]
    V -> G [arrowhead=normal arrowtail=dot dir=both]
    W -> G [arrowhead=empty arrowtail=dot dir=both]
    G -> X [arrowhead=empty arrowtail=odot dir=both]
    Y -> G [arrowhead=empty arrowtail=dot dir=both]
    G -> Z [arrowhead=empty arrowtail=dot dir=both]
    B -> H [arrowhead=invodot arrowtail=dot dir=both]
    C -> H [arrowhead=invodot arrowtail=odot dir=both]
    D -> H [arrowhead=invodot arrowtail=odot dir=both]
    F -> H [arrowhead=invdot arrowtail=dot dir=both]
    G -> H [arrowhead=normal arrowtail=dot dir=both]
    J -> H [arrowhead=invdot arrowtail=odot dir=both]
    K -> H [arrowhead=invdot arrowtail=dot dir=both]
    L -> H [arrowhead=empty arrowtail=odot dir=both]
    H -> M [arrowhead=empty arrowtail=odot dir=both]
    H -> N [arrowhead=invodot arrowtail=dot dir=both]
    P -> H [arrowhead=normal arrowtail=dot dir=both]
    H -> Q [arrowhead=normal arrowtail=odot dir=both]
    R -> H [arrowhead=empty arrowtail=odot dir=both]
    S -> H [arrowhead=normal arrowtail=odot dir=both]
    T -> H [arrowhead=empty arrowtail=dot dir=both]
    V -> H [arrowhead=invodot arrowtail=dot dir=both]
    W -> H [arrowhead=invdot arrowtail=dot dir=both]
    X -> H [arrowhead=invodot arrowtail=dot dir=both]
    H -> Y [arrowhead=invdot arrowtail=dot dir=both]
    H -> Z [arrowhead=normal arrowtail=dot dir=both]
    J -> B [arrowhead=invdot arrowtail=dot dir=both]
    J -> C [arrowhead=normal arrowtail=dot dir=both]
    D -> J [arrowhead=invodot arrowtail=dot dir=both]
    J -> F [arrowhead=empty arrowtail=dot dir=both]
    J -> G [arrowhead=normal arrowtail=dot dir=both]
    J -> H [arrowhead=invdot arrowtail=odot dir=both]
    J -> K [arrowhead=invdot arrowtail=odot dir=both]
    L -> J [arrowhead=invdot arrowtail=dot dir=both]
    J -> M [arrowhead=empty arrowtail=odot dir=both]
    N -> J [arrowhead=invodot arrowtail=dot dir=both]
    P -> J [arrowhead=empty arrowtail=dot dir=both]
    J -> Q [arrowhead=invdot arrowtail=odot dir=both]
    J -> R [arrowhead=empty arrowtail=dot dir=both]
    S -> J [arrowhead=normal arrowtail=dot dir=both]
    J -> T [arrowhead=invodot arrowtail=dot dir=both]
    V -> J [arrowhead=normal arrowtail=dot dir=both]
    W -> J [arrowhead=invdot arrowtail=odot dir=both]
    J -> X [arrowhead=invdot arrowtail=odot dir=both]
    Y -> J [arrowhead=empty arrowtail=odot dir=both]
    J -> Z [arrowhead=normal arrowtail=dot dir=both]
    B -> K [arrowhead=invdot arrowtail=odot dir=both]
    C -> K [arrowhead=invdot arrowtail=dot dir=both]
    K -> D [arrowhead=invodot arrowtail=dot dir=both]
    F -> K [arrowhead=empty arrowtail=odot dir=both]
    K -> G [arrowhead=invodot arrowtail=dot dir=both]
    K -> H [arrowhead=empty arrowtail=dot dir=both]
    K -> J [arrowhead=invdot arrowtail=dot dir=both]
    L -> K [arrowhead=invdot arrowtail=odot dir=both]
    M -> K [arrowhead=empty arrowtail=dot dir=both]
    K -> N [arrowhead=invdot arrowtail=odot dir=both]
    P -> K [arrowhead=normal arrowtail=dot dir=both]
    Q -> K [arrowhead=normal arrowtail=odot dir=both]
    R -> K [arrowhead=normal arrowtail=odot dir=both]
    K -> S [arrowhead=empty arrowtail=dot dir=both]
    K -> T [arrowhead=invdot arrowtail=odot dir=both]
    K -> V [arrowhead=invodot arrowtail=odot dir=both]
    W -> K [arrowhead=empty arrowtail=dot dir=both]
    X -> K [arrowhead=invdot arrowtail=odot dir=both]
    K -> Y [arrowhead=normal arrowtail=odot dir=both]
    K -> Z [arrowhead=invdot arrowtail=odot dir=both]
    L -> B [arrowhead=invodot arrowtail=odot dir=both]
    C -> L [arrowhead=invdot arrowtail=dot dir=both]
    D -> L [arrowhead=invdot arrowtail=dot dir=both]
    F -> L [arrowhead=invdot arrowtail=odot dir=both]
    G -> L [arrowhead=normal arrowtail=odot dir=both]
    H -> L [arrowhead=invdot arrowtail=odot dir=both]
    J -> L [arrowhead=normal arrowtail=dot dir=both]
    K -> L [arrowhead=empty arrowtail=odot dir=both]
    M -> L [arrowhead=normal arrowtail=odot dir=both]
    N -> L [arrowhead=normal arrowtail=dot dir=both]
    L -> P [arrowhead=normal arrowtail=odot dir=both]
    Q -> L [arrowhead=invodot arrowtail=odot dir=both]
    L -> R [arrowhead=invodot arrowtail=odot dir=both]
    L -> S [arrowhead=empty arrowtail=dot dir=both]
    L -> T [arrowhead=empty arrowtail=odot dir=both]
    L -> V [arrowhead=invdot arrowtail=odot dir=both]
    L -> W [arrowhead=normal arrowtail=odot dir=both]
    L -> X [arrowhead=invdot arrowtail=dot dir=both]
    L -> Y [arrowhead=empty arrowtail=odot dir=both]
    Z -> L [arrowhead=empty arrowtail=dot dir=both]
    M -> B [arrowhead=invdot arrowtail=dot dir=both]
    M -> C [arrowhead=invdot arrowtail=dot dir=both]
    M -> D [arrowhead=invdot arrowtail=dot dir=both]
    F -> M [arrowhead=normal arrowtail=odot dir=both]
    M -> G [arrowhead=empty arrowtail=dot dir=both]
    M -> H [arrowhead=normal arrowtail=odot dir=both]
    J -> M [arrowhead=invdot arrowtail=dot dir=both]
    M -> K [arrowhead=invdot arrowtail=odot dir=both]
    M -> L [arrowhead=invodot arrowtail=dot dir=both]
    N -> M [arrowhead=invdot arrowtail=odot dir=both]
    P -> M [arrowhead=invodot arrowtail=odot dir=both]
    Q -> M [arrowhead=invodot arrowtail=odot dir=both]
    R -> M [arrowhead=normal arrowtail=odot dir=both]
    M -> S [arrowhead=invodot arrowtail=dot dir=both]
    M -> T [arrowhead=normal arrowtail=dot dir=both]
    V -> M [arrowhead=invdot arrowtail=odot dir=both]
    W -> M [arrowhead=normal arrowtail=dot dir=both]
    X -> M [arrowhead=invodot arrowtail=dot dir=both]
    M -> Y [arrowhead=invdot arrowtail=dot dir=both]
    M -> Z [arrowhead=invodot arrowtail=odot dir=both]
    N -> B [arrowhead=normal arrowtail=dot dir=both]
    C -> N [arrowhead=normal arrowtail=dot dir=both]
    N -> D [arrowhead=invdot arrowtail=dot dir=both]
    F -> N [arrowhead=invodot arrowtail=odot dir=both]
    N -> G [arrowhead=invodot arrowtail=dot dir=both]
    H -> N [arrowhead=invodot arrowtail=odot dir=both]
    N -> J [arrowhead=empty arrowtail=odot dir=both]
    N -> K [arrowhead=invodot arrowtail=odot dir=both]
    L -> N [arrowhead=invdot arrowtail=dot dir=both]
    M -> N [arrowhead=invodot arrowtail=odot dir=both]
    P -> N [arrowhead=invdot arrowtail=dot dir=both]
    Q -> N [arrowhead=invdot arrowtail=odot dir=both]
    R -> N [arrowhead=empty arrowtail=dot dir=both]
    S -> N [arrowhead=invodot arrowtail=dot dir=both]
    N -> T [arrowhead=normal arrowtail=dot dir=both]
    N -> V [arrowhead=normal arrowtail=odot dir=both]
    W -> N [arrowhead=normal arrowtail=dot dir=both]
    X -> N [arrowhead=invodot arrowtail=dot dir=both]
    N -> Y [arrowhead=invodot arrowtail=odot dir=both]
    Z -> N [arrowhead=empty arrowtail=odot dir=both]
    B -> P [arrowhead=invdot arrowtail=odot dir=both]
    C -> P [arrowhead=invdot arrowtail=dot dir=both]
    D -> P [arrowhead=empty arrowtail=dot dir=both]
    F -> P [arrowhead=invodot arrowtail=odot dir=both]
    P -> G [arrowhead=invdot arrowtail=odot dir=both]
    H -> P [arrowhead=invodot arrowtail=odot dir=both]
    P -> J [arrowhead=invdot arrowtail=odot dir=both]
    K -> P [arrowhead=invodot arrowtail=dot dir=both]
    P -> L [arrowhead=invodot arrowtail=odot dir=both]
    P -> M [arrowhead=invdot arrowtail=odot dir=both]
    N -> P [arrowhead=invdot arrowtail=dot dir=both]
    P -> Q [arrowhead=invdot arrowtail=dot dir=both]
    R -> P [arrowhead=invdot arrowtail=odot dir=both]
    S -> P [arrowhead=invodot arrowtail=dot dir=both]
    P -> T [arrowhead=normal arrowtail=odot dir=both]
    P -> V [arrowhead=normal arrowtail=odot dir=both]
    W -> P [arrowhead=invdot arrowtail=dot dir=both]
    X -> P [arrowhead=empty arrowtail=odot dir=both]
    Y -> P [arrowhead=normal arrowtail=odot dir=both]
    Z -> P [arrowhead=invdot arrowtail=odot dir=both]
    B -> Q [arrowhead=invodot arrowtail=odot dir=both]
    Q -> C [arrowhead=normal arrowtail=odot dir=both]
    D -> Q [arrowhead=invodot arrowtail=dot dir=both]
    Q -> F [arrowhead=normal arrowtail=odot dir=both]
    G -> Q [arrowhead=invodot arrowtail=odot dir=both]
    Q -> H [arrowhead=invdot arrowtail=odot dir=both]
    J -> Q [arrowhead=empty arrowtail=dot dir=both]
    Q -> K [arrowhead=invodot arrowtail=odot dir=both]
    Q -> L [arrowhead=normal arrowtail=dot dir=both]
    Q -> M [arrowhead=empty arrowtail=odot dir=both]
    N -> Q [arrowhead=normal arrowtail=dot dir=both]
    P -> Q [arrowhead=normal arrowtail=odot dir=both]
    Q -> R [arrowhead=empty arrowtail=dot dir=both]
    Q -> S [arrowhead=invdot arrowtail=dot dir=both]
    T -> Q [arrowhead=normal arrowtail=dot dir=both]
    V -> Q [arrowhead=empty arrowtail=dot dir=both]
    W -> Q [arrowhead=empty arrowtail=odot dir=both]
    X -> Q [arrowhead=invdot arrowtail=odot dir=both]
    Q -> Y [arrowhead=invdot arrowtail=odot dir=both]
    Z -> Q [arrowhead=invdot arrowtail=odot dir=both]
    B -> R [arrowhead=normal arrowtail=dot dir=both]
    C -> R [arrowhead=empty arrowtail=odot dir=both]
    R -> D [arrowhead=normal arrowtail=odot dir=both]
    R -> F [arrowhead=empty arrowtail=odot dir=both]
    G -> R [arrowhead=empty arrowtail=dot dir=both]
    R -> H [arrowhead=invodot arrowtail=odot dir=both]
    J -> R [arrowhead=empty arrowtail=odot dir=both]
    R -> K [arrowhead=invodot arrowtail=odot dir=both]
    R -> L [arrowhead=invdot arrowtail=dot dir=both]
    M -> R [arrowhead=empty arrowtail=odot dir=both]
    N -> R [arrowhead=invdot arrowtail=dot dir=both]
    P -> R [arrowhead=empty arrowtail=dot dir=both]
    R -> Q [arrowhead=normal arrowtail=odot dir=both]
    R -> S [arrowhead=empty arrowtail=dot dir=both]
    R -> T [arrowhead=invdot arrowtail=dot dir=both]
    R -> V [arrowhead=normal arrowtail=odot dir=both]
    W -> R [arrowhead=invodot arrowtail=odot dir=both]
    X -> R [arrowhead=normal arrowtail=odot dir=both]
    R -> Y [arrowhead=invodot arrowtail=odot dir=both]
    R -> Z [arrowhead=invdot arrowtail=odot dir=both]
    S -> B [arrowhead=invodot arrowtail=dot dir=both]
    C -> S [arrowhead=invodot arrowtail=dot dir=both]
    D -> S [arrowhead=empty arrowtail=odot dir=both]
    S -> F [arrowhead=empty arrowtail=dot dir=both]
    S -> G [arrowhead=empty arrowtail=odot dir=both]
    H -> S [arrowhead=invodot arrowtail=odot dir=both]
    S -> J [arrowhead=invodot arrowtail=odot dir=both]
    S -> K [arrowhead=empty arrowtail=odot dir=both]
    S -> L [arrowhead=normal arrowtail=odot dir=both]
    M -> S [arrowhead=invodot arrowtail=odot dir=both]
    S -> N [arrowhead=invdot arrowtail=dot dir=both]
    P -> S [arrowhead=invdot arrowtail=dot dir=both]
    S -> Q [arrowhead=normal arrowtail=odot dir=both]
    S -> R [arrowhead=empty arrowtail=dot dir=both]
    T -> S [arrowhead=normal arrowtail=dot dir=both]
    S -> V [arrowhead=invodot arrowtail=odot dir=both]
    S -> W [arrowhead=empty arrowtail=odot dir=both]
    X -> S [arrowhead=invdot arrowtail=dot dir=both]
    S -> Y [arrowhead=invodot arrowtail=odot dir=both]
    Z -> S [arrowhead=empty arrowtail=dot dir=both]
    B -> T [arrowhead=normal arrowtail=dot dir=both]
    C -> T [arrowhead=empty arrowtail=odot dir=both]
    T -> D [arrowhead=invdot arrowtail=dot dir=both]
    T -> F [arrowhead=invodot arrowtail=odot dir=both]
    T -> G [arrowhead=invodot arrowtail=odot dir=both]
    H -> T [arrowhead=normal arrowtail=odot dir=both]
    T -> J [arrowhead=empty arrowtail=dot dir=both]
    K -> T [arrowhead=normal arrowtail=odot dir=both]
    T -> L [arrowhead=normal arrowtail=dot dir=both]
    T -> M [arrowhead=invdot arrowtail=odot dir=both]
    N -> T [arrowhead=empty arrowtail=dot dir=both]
    P -> T [arrowhead=normal arrowtail=dot dir=both]
    T -> Q [arrowhead=invdot arrowtail=odot dir=both]
    R -> T [arrowhead=normal arrowtail=dot dir=both]
    T -> S [arrowhead=invdot arrowtail=dot dir=both]
    V -> T [arrowhead=normal arrowtail=odot dir=both]
    W -> T [arrowhead=normal arrowtail=dot dir=both]
    T -> X [arrowhead=invdot arrowtail=odot dir=both]
    Y -> T [arrowhead=invodot arrowtail=odot dir=both]
    Z -> T [arrowhead=normal arrowtail=dot dir=both]
    V -> B [arrowhead=invodot arrowtail=dot dir=both]
    V -> C [arrowhead=invdot arrowtail=dot dir=both]
    V -> D [arrowhead=empty arrowtail=dot dir=both]
    V -> F [arrowhead=invdot arrowtail=odot dir=both]
    G -> V [arrowhead=invdot arrowtail=dot dir=both]
    V -> H [arrowhead=invdot arrowtail=odot dir=both]
    J -> V [arrowhead=invodot arrowtail=odot dir=both]
    K -> V [arrowhead=invdot arrowtail=odot dir=both]
    V -> L [arrowhead=empty arrowtail=dot dir=both]
    M -> V [arrowhead=invodot arrowtail=dot dir=both]
    N -> V [arrowhead=empty arrowtail=dot dir=both]
    P -> V [arrowhead=normal arrowtail=dot dir=both]
    Q -> V [arrowhead=empty arrowtail=dot dir=both]
    V -> R [arrowhead=normal arrowtail=odot dir=both]
    V -> S [arrowhead=invodot arrowtail=odot dir=both]
    V -> T [arrowhead=invodot arrowtail=odot dir=both]
    W -> V [arrowhead=empty arrowtail=dot dir=both]
    V -> X [arrowhead=invdot arrowtail=odot dir=both]
    V -> Y [arrowhead=invodot arrowtail=odot dir=both]
    Z -> V [arrowhead=normal arrowtail=odot dir=both]
    W -> B [arrowhead=normal arrowtail=odot dir=both]
    C -> W [arrowhead=invdot arrowtail=odot dir=both]
    D -> W [arrowhead=invdot arrowtail=dot dir=both]
    F -> W [arrowhead=normal arrowtail=dot dir=both]
    W -> G [arrowhead=invdot arrowtail=odot dir=both]
    H -> W [arrowhead=normal arrowtail=odot dir=both]
    W -> J [arrowhead=normal arrowtail=dot dir=both]
    W -> K [arrowhead=normal arrowtail=odot dir=both]
    W -> L [arrowhead=invdot arrowtail=odot dir=both]
    M -> W [arrowhead=normal arrowtail=odot dir=both]
    N -> W [arrowhead=normal arrowtail=odot dir=both]
    W -> P [arrowhead=normal arrowtail=odot dir=both]
    Q -> W [arrowhead=normal arrowtail=odot dir=both]
    R -> W [arrowhead=invdot arrowtail=dot dir=both]
    W -> S [arrowhead=empty arrowtail=odot dir=both]
    T -> W [arrowhead=invdot arrowtail=dot dir=both]
    W -> V [arrowhead=invodot arrowtail=dot dir=both]
    W -> X [arrowhead=invodot arrowtail=odot dir=both]
    Y -> W [arrowhead=invdot arrowtail=dot dir=both]
    W -> Z [arrowhead=invdot arrowtail=dot dir=both]
    X -> B [arrowhead=normal arrowtail=dot dir=both]
    C -> X [arrowhead=empty arrowtail=odot dir=both]
    X -> D [arrowhead=normal arrowtail=dot dir=both]
    X -> F [arrowhead=empty arrowtail=dot dir=both]
    X -> G [arrowhead=invdot arrowtail=odot dir=both]
    H -> X [arrowhead=invodot arrowtail=odot dir=both]
    J -> X [arrowhead=normal arrowtail=odot dir=both]
    K -> X [arrowhead=empty arrowtail=dot dir=both]
    X -> L [arrowhead=invdot arrowtail=dot dir=both]
    M -> X [arrowhead=invdot arrowtail=odot dir=both]
    X -> N [arrowhead=empty arrowtail=odot dir=both]
    X -> P [arrowhead=invodot arrowtail=dot dir=both]
    Q -> X [arrowhead=normal arrowtail=odot dir=both]
    R -> X [arrowhead=empty arrowtail=dot dir=both]
    X -> S [arrowhead=invodot arrowtail=dot dir=both]
    X -> T [arrowhead=invodot arrowtail=dot dir=both]
    X -> V [arrowhead=invodot arrowtail=dot dir=both]
    X -> W [arrowhead=invdot arrowtail=odot dir=both]
    Y -> X [arrowhead=normal arrowtail=dot dir=both]
    X -> Z [arrowhead=invdot arrowtail=dot dir=both]
    Y -> B [arrowhead=normal arrowtail=odot dir=both]
    Y -> C [arrowhead=invodot arrowtail=odot dir=both]
    D -> Y [arrowhead=empty arrowtail=odot dir=both]
    F -> Y [arrowhead=normal arrowtail=dot dir=both]
    Y -> G [arrowhead=empty arrowtail=odot dir=both]
    Y -> H [arrowhead=invodot arrowtail=dot dir=both]
    Y -> J [arrowhead=invodot arrowtail=dot dir=both]
    Y -> K [arrowhead=invdot arrowtail=odot dir=both]
    L -> Y [arrowhead=invdot arrowtail=dot dir=both]
    M -> Y [arrowhead=empty arrowtail=odot dir=both]
    N -> Y [arrowhead=invdot arrowtail=dot dir=both]
    Y -> P [arrowhead=invodot arrowtail=dot dir=both]
    Q -> Y [arrowhead=invodot arrowtail=dot dir=both]
    R -> Y [arrowhead=invodot arrowtail=dot dir=both]
    S -> Y [arrowhead=invodot arrowtail=odot dir=both]
    T -> Y [arrowhead=empty arrowtail=dot dir=both]
    Y -> V [arrowhead=invodot arrowtail=dot dir=both]
    W -> Y [arrowhead=invdot arrowtail=dot dir=both]
    X -> Y [arrowhead=normal arrowtail=dot dir=both]
    Y -> Z [arrowhead=invdot arrowtail=dot dir=both]
    Z -> B [arrowhead=normal arrowtail=dot dir=both]
    C -> Z [arrowhead=empty arrowtail=dot dir=both]
    D -> Z [arrowhead=normal arrowtail=odot dir=both]
    Z -> F [arrowhead=invdot arrowtail=dot dir=both]
    G -> Z [arrowhead=empty arrowtail=dot dir=both]
    H -> Z [arrowhead=invodot arrowtail=odot dir=both]
    Z -> J [arrowhead=empty arrowtail=odot dir=both]
    Z -> K [arrowhead=invdot arrowtail=odot dir=both]
    Z -> L [arrowhead=invodot arrowtail=dot dir=both]
    M -> Z [arrowhead=normal arrowtail=odot dir=both]
    Z -> N [arrowhead=invdot arrowtail=odot dir=both]
    P -> Z [arrowhead=normal arrowtail=dot dir=both]
    Q -> Z [arrowhead=empty arrowtail=odot dir=both]
    R -> Z [arrowhead=normal arrowtail=odot dir=both]
    S -> Z [arrowhead=invdot arrowtail=dot dir=both]
    T -> Z [arrowhead=invodot arrowtail=odot dir=both]
    Z -> V [arrowhead=normal arrowtail=dot dir=both]
    Z -> W [arrowhead=empty arrowtail=odot dir=both]
    Z -> X [arrowhead=empty arrowtail=odot dir=both]
    Y -> Z [arrowhead=normal arrowtail=odot dir=both]
}

【问题讨论】:

  • 请给出一个显示问题的代码示例,最好是 dot 代码(看起来您现在使用其他语言来调用 dot)。
  • 请在问题中显示代码,并将 pdf 的结果显示为问题中的图像(因此所有内容都是持久的)。

标签: graphviz


【解决方案1】:

Graphviz 根据罗盘上的点 (n,s,e,w,ne,se,sw,nw) (https://graphviz.org/docs/attr-types/portPos/) 定义节点上的 8 个端口位置。这会有所帮助,但您的节点似乎“需要”超过 8 个位置。

  • 例如B:ne -> D [arrowhead=normal arrowtail=odot dir=both]

也许您可以尝试混合使用显式端口和隐式端口

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多