python 具有海运群集Map的下方三角形掩码

8yparm6h  于 2023-01-08  发布在  Python
关注(0)|答案(2)|浏览(101)

在使用seaborn的clustermap进行层次聚类时,如何屏蔽下面的三角形?

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

#pearson coefficients
corr = np.corrcoef(np.random.randn(10, 200))

#lower triangle
mask = np.tril(np.ones_like(corr))
fig, ax = plt.subplots(figsize=(6,6))

#heatmap works as expected
sns.heatmap(corr, cmap="Blues", mask=mask, cbar=False)

#clustermap not so much
sns.clustermap(corr, cmap="Blues", mask=mask, figsize=(6,6))
plt.show()

s8vozzvw

s8vozzvw1#

clustermap * 根据相似性对值进行聚类,这改变了行和列的顺序。
您可以创建一个常规群集Map,然后在第二步中应用掩码:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

corr = np.corrcoef(np.random.randn(10, 200))

g = sns.clustermap(corr, cmap="Blues", figsize=(6, 6))

mask = np.tril(np.ones_like(corr))
values = g.ax_heatmap.collections[0].get_array().reshape(corr.shape)
new_values = np.ma.array(values, mask=mask)
g.ax_heatmap.collections[0].set_array(new_values)

plt.show()

3bygqnnd

3bygqnnd2#

如何在三角形上添加注解?或者绘制一个像这样的混合三角形?enter image description here

相关问题