【发布时间】:2014-07-08 12:35:44
【问题描述】:
我正在尝试读取一个包含 10000 多个条目和 3 列的文件。第 1 列和第 2 列是节点,第 3 列是以秒为单位的时间。我最初试图用数据绘制一个随机图 G=(n,m),然后想在两个相对节点之间分配第三列的数据。之后,我必须计算该图中的节点、边、桥的数量。 我在这里失去了一些东西。如果我应该先绘制图表然后进行计数,或者我应该计数然后绘制图表。任何建议都会有所帮助。
import networkx as nx
import matplotlib.pyplot as plt
import numpy as np
import scipy as sy
import itertools as it
import time
with open("File.txt") as f:
data = f.read()
data = data.split('\n')
node_one = [row[0] for row in data]
node_two = [row[1] for row in data]
def draw_graph(graph):
G = nx.Graph()
#G.add_edges_from([(node_one[0], node_two[1]])
#G.add_edges_from(node_one, node_two)
G.number_of_nodes()
G.number_of_edges()
G.neighbors(edge[0], edge[1])
n = nx.number_connected_components(G)
bridge_count = 0
for edge in G.edges():
if len(set(G.neighbors(edge[0])) & set(G.neighbors(edge[1]))) == 0:
G.remove_edge(edge[0], edge[1])
if nx.number_connected_components(G) > n:
print edge, 'is a bridge'
bridge_count += 1
G.add_edge(edge[0], edge[1])
print number_of_nodes()
print number_edges()
print neighbors()
print bridge_count
我在这里遇到的错误是 回溯(最近一次通话最后): 文件“edge_bridge.py”,第 13 行,在
node_one = [row[0] for row in data]
IndexError: 字符串索引超出范围
【问题讨论】:
标签: python random graph matplotlib networkx