import numpy as np import sklearn.metrics as metrics import scipy.io from scipy.spatial.distance import pdist, squareform from scipy.cluster import hierarchy import matplotlib.pyplot as plt plt.xkcd() import networkx as nx %matplotlib inline G = nx.karate_club_graph() cliqComm = nx.k_clique_communities(G, 3) cliqComm=list(cliqComm) cliqComm colorList=np.ones([G.order(),]) for c in xrange(len(cliqComm)): for i in cliqComm[c]: colorList[i] += c+1 print colorList nx.draw(G, cmap = plt.get_cmap('Reds'), node_color=colorList, node_size=500, alpha=0.8, with_labels=True) data = scipy.io.loadmat('network3.mat') A = data['A'].astype('float') plt.spy(A) comm = data['Comm'] G = nx.Graph(A) # pos = nx.spring_layout(G, scale = 5, iterations=100) nx.draw(G, pos, node_color=comm, alpha = 0.6, with_labels = False) D = pdist(A, metric = 'jaccard') hc = hierarchy.average(D) Z = hierarchy.dendrogram(hc) comm2 = hierarchy.fcluster(hc, 4, criterion='maxclust') comm = comm.flatten() metrics.adjusted_rand_score(comm, comm2) nx.draw(G, pos, node_color=comm2, alpha = 0.6, with_labels = False)