import numpy as np import cPickle from scipy.spatial.distance import hamming, pdist from scipy.cluster.hierarchy import fcluster import matplotlib.pyplot as plt from scipy.cluster.hierarchy import dendrogram, linkage, cophenet import scipy.cluster.hierarchy as hac from allTagsDModule import allTagsD_L1_new from computeHammingDistances_L1 import dist dist = dist[1:, 1:] # because pattern 0 does not exist counter = 0 cidIndex = dict() indexCid = dict() Z = linkage(dist, 'ward') c, coph_dists = cophenet(Z, pdist(dist)) p1 = plt.figure(figsize=(25, 10)) plt.title('Hierarchical Clustering Dendrogram') plt.xlabel('sample index') plt.ylabel('distance') dendrogram( Z, leaf_rotation=90., # rotates the x axis labels leaf_font_size=12., # font size for the x axis labels ) pos, ticks = plt.xticks() newTicks = [] for t in ticks: newTicks.append(int(t.get_text()) + 1) plt.xticks(pos, newTicks) print "newPatternsOrder = ", newTicks reorderedPatterns = [int(r) for r in newTicks] if __name__ == "__main__": plt.show()