Отключенный граф при чтении сетиx - PullRequest
0 голосов
/ 01 ноября 2019

Я пишу программу на python, которая открывает 3 файла .txt, которые содержат серию узлов из 3 разных аэропортов.

У меня есть метод случайного удаления, который останавливается, когда компонент графика становитсябольше 1. Проблема в том, что считанный из txt-файла график уже отключен.

def main():
print("Seleziona la rete da utilizzare: ")
i=0
while(i == 0):
    print("\t1)US Power Grid(4941 nodi)")
    print("\t2)US Airports(1574 nodi)")
    print("\t3)Chicago Regional(1467 nodi)")
    i = int(input())
    if (i == 1):
        file = open("us-powergrid.txt",'rb')
        grafo = nx.read_edgelist(file,delimiter=' ',create_using=nx.Graph(),nodetype = int)
        print(nx.info(grafo))
        nx.draw_circular(grafo,with_labels = True)
        plt.show()
    if (i == 2):
        file = open("us-usairport.txt",'rb')
        grafo = nx.read_edgelist(file,delimiter=' ',data=(('weight',int),),create_using=nx.Graph(),nodetype = int)
        print(nx.info(grafo))
        print(grafo.edges(data=True))
        nx.draw_circular(grafo,with_labels = True)
        plt.show()
    if (i == 3):
        file = open("ChicagoRegional.txt",'rb')
        grafo = nx.read_edgelist(file,delimiter=' ',create_using=nx.Graph(),nodetype = int)
        print(nx.info(grafo))
        nx.draw_circular(grafo,with_labels = True)
        plt.show()
    print("Seleziona il tipo di attacco: ")
    k=0
    while(k == 0):
        print("\t1)Verrà rimosso 1 nodo casualmente fino all'aumento della componente")
        print("\t2)Verra rimosso il nodo dalla centralità massima fino all'aumento della componente")
        print("\t3)Verrano rimossi multipli nodi alla volta uno dopo l'altro fino all'aumento della componente")
        k = int(input())
        if (k == 1):
            rimozioneNodi(grafo)
            nx.draw_circular(grafo,with_labels = True)
            scelta = str(input("Vuoi visualizzare il grafico? (y/n): " ))
            if (scelta == 'y'):    
                plt.show()
        if (k == 2):
            continue
        if (k == 3):
            continue
    file.close()

Проблема в том, что txt-файл или график, если он создан этими методами, неправильно подключен? График был загружен с http://konect.uni -koblenz.de /

...