在 clustermap 中为某些行和列添加填充

Adding hatches for certain rows and columns in clustermap

提问人:crx91 提问时间:11/16/2023 最后编辑:Trenton McKinneycrx91 更新时间:11/17/2023 访问量:27

问:

我使用 seaborn.clustermap() 绘制了 clustermap,如下所示

labels = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v"]
sns.clustermap(data, cmap=sns.cm.rocket_r, xticklabels=labels, yticklabels=labels)

enter image description here

很明显,有两个集群,“m”、“o”、“d”、“n”、“p”与其他集群。现在我想在“m”、“o”、“d”、“n”、“p”的行和列中添加阴影线(“//”)以突出差异,我该怎么做?谢谢。

python matplotlib seaborn 热图 clustermap

评论


答:

0赞 crx91 11/17/2023 #1

我按照这个问题中的答案找到了如何做到这一点:向海生热图图添加舱口

mask = np.ones_like(data)
mask[idx_to_mask, :] = False
mask[:, idx_to_mask] = False
data_masked = np.ma.masked_where(mask, data)

g = sns.clustermap(data, cmap=sns.cm.rocket_r, xticklabels=labels, yticklabels=labels)
ax = g.ax_heatmap
y = x = np.arange(len(data)+1)
ax.pcolor(x, y, data_masked, hatch='//', alpha=0.)