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