Почему pygrapviz (neato) перекрывает мои кластеры? - PullRequest
1 голос
/ 10 июня 2019

Я пытаюсь нарисовать график из следующего файла точек. Алгоритм neato перекрывает узлы, а точка один размещает кластеры рядом, когда я хочу, чтобы они были в порядке сверху вниз.

Это было добавлено здесь, потому что StackOv говорит, что я не добавил достаточно деталей

graph  {
    graph [mindist=0.5,
        overlap=False,
        ranksep=1
    ];
    node [fontsize=11];
    edge [fontsize=9,
        len=4
    ];
    subgraph cluster_avvc {
        graph [label=AVVC,
            rank="same; 1"
        ];
        avvcsw1      [data="<__main__.N9KSwitch object at 0x02E24490>"];
        avvcsw2      [data="<__main__.N9KSwitch object at 0x02E248D0>"];
    }
    subgraph cluster_spines {
        graph [label=Spines,
            rank="same; 2"
        ];
        sp1      [data="<__main__.N9KSwitch object at 0x02E15D50>"];
        sp2      [data="<__main__.N9KSwitch object at 0x02E156B0>"];
    }
    subgraph cluster_bl {
        graph [label="Border Leafs",
            rank="same; 3"
        ];
        bl1      [data="<__main__.N9KSwitch object at 0x02E15F10>"];
        bl2      [data="<__main__.N9KSwitch object at 0x02E153B0>"];
    }
    avvcsw1 -- sp1 [key=0,
    color=blue,
    headlabel="Eth1/52",
    interfaces="{'sp1': 'Eth1/52', 'avvcsw1': 'Eth2/1'}",
    taillabel="Eth2/1"];
    avvcsw1 -- extLB [key=0,
    color=blue,
    headlabel="E1/2",
    interfaces="{'avvcsw1': 'Eth1/34', 'extLB': 'E1/2'}",
    taillabel="Eth1/34"];
    avvcsw1 -- extLB [key=1,
    color=blue,
    headlabel="E1/1",
    interfaces="{'avvcsw1': 'Eth1/33', 'extLB': 'E1/1'}",
    taillabel="Eth1/33"];
    avvcsw2 -- sp2 [key=0,
    color=blue,
    headlabel="Eth1/36",
    interfaces="{'sp2': 'Eth1/36', 'avvcsw2': 'Eth2/1'}",
    taillabel="Eth2/1"];
    avvcsw2 -- intFW [key=0,
    color=blue,
    headlabel="Gi0/0/1",
    interfaces="{'avvcsw2': 'Eth1/33', 'intFW': 'Gi0/0/1'}",
    taillabel="Eth1/33"];
    avvcsw2 -- intFW [key=1,
    color=blue,
    headlabel="Gi0/0/0",
    interfaces="{'avvcsw2': 'Eth1/34', 'intFW': 'Gi0/0/0'}",
    taillabel="Eth1/34"];
    avvcsw2 -- extFW [key=0,
    color=blue,
    headlabel="Gi0/0/0",
    interfaces="{'avvcsw2': 'Eth1/36', 'extFW': 'Gi0/0/0'}",
    taillabel="Eth1/36"];
    avvcsw2 -- extFW [key=1,
    color=blue,
    headlabel="Gi0/0/1",
    interfaces="{'avvcsw2': 'Eth1/35', 'extFW': 'Gi0/0/1'}",
    taillabel="Eth1/35"];
    avvcsw2 -- fgFW [key=0,
    color=blue,
    headlabel="??",
    interfaces="{'avvcsw2': 'Eth1/32', 'fgFW': '??'}",
    taillabel="Eth1/32"];
    avvcsw2 -- esxSvr [key=0,
    color=blue,
    headlabel=vmnic5,
    interfaces="{'avvcsw2': 'Eth1/31', 'esxSvr': 'vmnic5'}",
    taillabel="Eth1/31"];
    bl1 -- sp1 [key=0,
    color=blue,
    headlabel="Eth1/49",
    interfaces="{'sp1': 'Eth1/49', 'bl1': 'Eth2/1'}",
    taillabel="Eth2/1"];
    bl1 -- sp2 [key=0,
    color=blue,
    headlabel="Eth1/1",
    interfaces="{'sp2': 'Eth1/1', 'bl1': 'Eth2/2'}",
    taillabel="Eth2/2"];
    bl1 -- intLB [key=0,
    color=blue,
    headlabel=1.1,
    interfaces="{'bl1': 'Eth1/32', 'intLB': '1.1'}",
    taillabel="Eth1/32"];
    bl2 -- sp1 [key=0,
    color=blue,
    headlabel="Eth1/50",
    interfaces="{'sp1': 'Eth1/50', 'bl2': 'Eth2/1'}",
    taillabel="Eth2/1"];
    bl2 -- sp2 [key=0,
    color=blue,
    headlabel="Eth1/1",
    interfaces="{'sp2': 'Eth1/1', 'bl2': 'Eth2/2'}",
    taillabel="Eth2/2"];
    bl2 -- esxSvr [key=0,
    color=blue,
    headlabel=vmnic2,
    interfaces="{'bl2': 'Eth1/28', 'esxSvr': 'vmnic2'}",
    taillabel="Eth1/28"];
    bl2 -- intLB [key=0,
    color=blue,
    headlabel=1.2,
    interfaces="{'bl2': 'Eth1/32', 'intLB': '1.2'}",
    taillabel="Eth1/32"];
}

Редактировать: я обновил файл точек с полной конфигурацией, чтобы вы могли попробовать его самостоятельно

enter image description here enter image description here

...