import networkx as nx
import matplotlib.pyplot as plt
%matplotlib inline
g = nx.Graph()
g.add_edge(1,2)
g.add_edge(1,3)
g.add_edge(1,4)
g.add_edge(2,3)
g.add_edge(3,4)
g.add_edge(4,5)
g.add_edge(4,6)
g.add_edge(5,6)
g.add_edge(5,7)
g.add_edge(5,8)
g.add_edge(6,7)
g.add_edge(6,8)
g.add_edge(7,8)
g.add_edge(7,9)
nx.draw(g, node_size=500, with_labels=True, font_size=16)
plt.show()
degree_centrality = nx.degree_centrality(g)
degree_centrality
type(degree_centrality)
print degree_centrality.items()
import operator
def sort_map(map):
sortedList = map.items()
sortedList.sort(key=operator.itemgetter(1), reverse=True)
return sortedList
sorted_degree_centrality = sort_map(degree_centrality)
sorted_degree_centrality
closeness_centrality = nx.closeness_centrality(g)
closeness_centrality
sorted_closeness_centrality = sort_map(closeness_centrality)
sorted_closeness_centrality
bet_centrality = nx.betweenness_centrality(g)
bet_centrality
sorted_bet_centrality =sort_map(bet_centrality)
sorted_bet_centrality
eigenvector_centrality = nx.eigenvector_centrality(g)
eigenvector_centrality
sorted_eigenvector_centrality= sort_map(eigenvector_centrality)
sorted_eigenvector_centrality
rounded_degree_centrality = {k: round(v, 3) for k, v in degree_centrality.items()}
rounded_closeness_centrality = {k: round(v, 3) for k, v in closeness_centrality.items()}
rounded_bet_centrality = {k: round(v, 3) for k, v in bet_centrality.items()}
rounded_eigenvector_centrality = {k: round(v, 3) for k, v in eigenvector_centrality.items()}
table = [[node, rounded_degree_centrality[node],
rounded_closeness_centrality[node],
rounded_bet_centrality[node],
rounded_eigenvector_centrality[node]] for node in g.nodes()]
table