读取Networkx时断开连接的图

时间:2019-11-01 16:47:51

标签: python-3.x graph networkx

我正在用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/

下载

0 个答案:

没有答案