def basic_stats(self): #not decided on what level to deal with this yet: #either return error un not dealing with unconnected files, #or making it deal with unconnected files: the latter. #How about with dealing with each independently. # if not nx.is_connected(g): # conl= nx.connected_components(g) # for n in conl: # turn n into graph if it isnt # calculate ec, per, cnt # how and when to visualise the subgraphs? # iterate to next n if nx.is_connected(self.nx_graph): ec = nx.eccentricity(self.nx_graph) else: ec = 'NA - graph is not connected' per = nx.periphery(self.nx_graph) cnt = nx.center(self.nx_graph) result = { #"""fast betweenness algorithm""" 'bbc': nx.brandes_betweenness_centrality(self.nx_graph), 'tn': nx.triangles(self.nx_graph), # number of triangles 'ec': ec, 'per': per, 'cnt': cnt, 'Per': self.nx_graph.subgraph(per), 'Cnt': self.nx_graph.subgraph(cnt) } return result
def betweenness_test(G): # Test how long it takes NX to calculate betweenness centrality on graph G start=time.clock() B=networkx.brandes_betweenness_centrality(G,normalized=False) return time.clock()-start