如何屏蔽 sns.heatmap 中协方差矩阵的上三角以及协方差阈值?
How to mask the upper triangle of a covariance matrix in sns.heatmap along with a covariance threshold?
为了掩盖低于阈值的协方差,我可以使用以下方法:
corr = df.corr(method = 'spearman')
sns.heatmap(corr, cmap = 'RdYlGn_r', mask = (corr <= T))
现在如何使用相关阈值条件屏蔽上三角?
您可以使用 logical or
(|
) 组合两个掩码。
下面的示例代码假定您要删除绝对值低于某个阈值的所有相关性:
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
df = pd.DataFrame(data=np.random.rand(7, 10), columns=[*'abcdefghij'])
corr = df.corr(method='spearman')
trimask = np.triu(np.ones_like(corr, dtype=bool))
sns.heatmap(corr, cmap='RdYlGn_r', mask=trimask | (np.abs(corr) <= 0.4), annot=True)
plt.tight_layout()
plt.show()
为了掩盖低于阈值的协方差,我可以使用以下方法:
corr = df.corr(method = 'spearman')
sns.heatmap(corr, cmap = 'RdYlGn_r', mask = (corr <= T))
现在如何使用相关阈值条件屏蔽上三角?
您可以使用 logical or
(|
) 组合两个掩码。
下面的示例代码假定您要删除绝对值低于某个阈值的所有相关性:
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
df = pd.DataFrame(data=np.random.rand(7, 10), columns=[*'abcdefghij'])
corr = df.corr(method='spearman')
trimask = np.triu(np.ones_like(corr, dtype=bool))
sns.heatmap(corr, cmap='RdYlGn_r', mask=trimask | (np.abs(corr) <= 0.4), annot=True)
plt.tight_layout()
plt.show()