python中热图的分层聚类

时间:2014-10-17 17:55:07

标签: python matplotlib heatmap hierarchical-clustering dendrogram

我有一个NxM matri,其值介于0到20之间。我可以通过使用Matplotlib和pcolor轻松获得热图。现在我想使用scipy应用层次聚类和树形图。我想重新排序每个维度(行和列)以显示哪个元素相似(根据聚类结果)。如果矩阵是方形(NxN),则代码类似于:

clustering = linkage(matrix, method="average")
dendrogram(clustering, orientation='right')

当尺寸不同时,如何获得连杆矩阵?我是否必须手动计算每对元素之间的每个距离?

1 个答案:

答案 0 :(得分:1)

我不确定如何使用Matplotlib和pcolor进行操作,但是seaborn软件包本身就支持您尝试完成的任务。

http://seaborn.pydata.org/generated/seaborn.clustermap.html

示例:

import seaborn as sns; sns.set()
flights = sns.load_dataset("flights")
flights = flights.pivot("month", "year", "passengers")
g = sns.clustermap(flights)

Example clustergram