Seaborn clustermap不显示行颜色

时间:2017-07-26 09:13:11

标签: pandas seaborn

我使用seaborn.clustermap生成了一个群集图。我想显示row_colors选项以突出显示某些聚类,但这是我得到的结果:

clustermap with missing row_colors

在这里你可以找到我的代码:

pal = sns.light_palette('red', np.unique(labels).size)
lut = dict(zip(np.unique(labels), pal))
row_colors = pd.Series(labels, name='clusters').map(lut)
sns.clustermap(my_data, method='ward', robust=True, row_colors=row_colors)

但是,如果我从seaborn文档中运行示例,我就不会有任何问题:

enter image description here

iris = sns.load_dataset("iris")
species = iris.pop("species")
lut = dict(zip(species.unique(), "rbg"))
row_colors = species.map(lut)
g = sns.clustermap(iris, row_colors=row_colors)

为什么突出显示在我的代码中不起作用?

1 个答案:

答案 0 :(得分:3)

非常感谢你的回答错误。我发现了问题。我有一个MultiIndex数据帧,由于某种原因它没有绘制row_color。实际上这是虹膜示例代码的唯一区别。

我刚刚解决了这个问题:

sns.clustermap(my_data.reset_index(drop=True), method='ward', robust=True, row_colors=row_colors)

现在可行:

enter image description here

我不知道这是否可以被视为一个错误,但它看起来像。 也许这有助于解决它。