我正在使用python seaborn进行heatmap
绘图和层次聚类。
这是我试过的,
import pandas as pd, seaborn as sns
import scipy.spatial as sp, scipy.cluster.hierarchy as hc
from sklearn.datasets import load_iris
sns.set(font="monospace")
iris = load_iris()
X, y = iris.data, iris.target
DF = pd.DataFrame(X, index = ["iris_%d" % (i) for i in range(X.shape[0])], columns = iris.feature_names)
DF_corr = DF.T.corr()
DF_dism = 1 - DF_corr # distance matrix
linkage = hc.linkage(sp.distance.squareform(DF_dism), method='average')
sns.clustermap(DF_dism, row_linkage=linkage, col_linkage=linkage)
它抛出以下错误,我正在粘贴追溯 TypeError:dendrogram()得到了一个意外的关键字参数' color_list'
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-23-4da2c090d592> in <module>()
11 DF_dism = 1 - DF_corr # distance matrix
12 linkage = hc.linkage(sp.distance.squareform(DF_dism), method='average')
---> 13 sns.clustermap(DF_dism, row_linkage=linkage, col_linkage=linkage)
/home/alva/Tools/anaconda3/lib/python3.4/site-packages/seaborn/matrix.py in clustermap(data, pivot_kws, method, metric, z_score, standard_scale, figsize, cbar_kws, row_cluster, col_cluster, row_linkage, col_linkage, row_colors, col_colors, mask, **kwargs)
1137 row_cluster=row_cluster, col_cluster=col_cluster,
1138 row_linkage=row_linkage, col_linkage=col_linkage,
-> 1139 **kwargs)
/home/alva/Tools/anaconda3/lib/python3.4/site-packages/seaborn/matrix.py in plot(self, metric, method, colorbar_kws, row_cluster, col_cluster, row_linkage, col_linkage, **kws)
976 colorbar_kws = {} if colorbar_kws is None else colorbar_kws
977 self.plot_dendrograms(row_cluster, col_cluster, metric, method,
--> 978 row_linkage=row_linkage, col_linkage=col_linkage)
979 try:
980 xind = self.dendrogram_col.reordered_ind
/home/alva/Tools/anaconda3/lib/python3.4/site-packages/seaborn/matrix.py in plot_dendrograms(self, row_cluster, col_cluster, metric, method, row_linkage, col_linkage)
901 self.dendrogram_row = dendrogram(
902 self.data2d, metric=metric, method=method, label=False, axis=0,
--> 903 ax=self.ax_row_dendrogram, rotate=True, linkage=row_linkage)
904 else:
905 self.ax_row_dendrogram.set_xticks([])
/home/alva/Tools/anaconda3/lib/python3.4/site-packages/seaborn/matrix.py in dendrogram(data, linkage, axis, label, metric, method, rotate, ax)
652 plotter = _DendrogramPlotter(data, linkage=linkage, axis=axis,
653 metric=metric, method=method,
--> 654 label=label, rotate=rotate)
655 if ax is None:
656 ax = plt.gca()
/home/alva/Tools/anaconda3/lib/python3.4/site-packages/seaborn/matrix.py in __init__(self, data, linkage, metric, method, axis, label, rotate)
483 else:
484 self.linkage = linkage
--> 485 self.dendrogram = self.calculate_dendrogram()
486
487 # Dendrogram ends are always at multiples of 5, who knows why
/home/alva/Tools/anaconda3/lib/python3.4/site-packages/seaborn/matrix.py in calculate_dendrogram(self)
568 """
569 return hierarchy.dendrogram(self.linkage, no_plot=True,
--> 570 color_list=['k'], color_threshold=-np.inf)
571
572 @property
非常感谢任何支持或建议