Seaborn对角相关矩阵跳过第一行和最后一列

时间:2018-11-09 14:03:05

标签: python seaborn

如何从下图中删除标签和相应的列/行(空白)?在这种情况下,in对应于 a 行和 l 列。

mask = np.zeros_like(corr, dtype=np.bool)
mask[np.triu_indices_from(mask)] = True

f, ax = plt.subplots(figsize=(12, 10))
cmap = sns.diverging_palette(220, 10, as_cmap=True)

corr = scaled_df.select_dtypes(include = ['float64', 'int64']).corr()

sns.heatmap(corr, mask=mask, cmap='inferno', vmin = -0.1, vmax=0.8, square=True)
plt.axvline(1.0, color='white', linestyle = '-', linewidth = 2.5, alpha = 1.0)

enter image description here

1 个答案:

答案 0 :(得分:1)

这里有两种相当简单的方法来解决这个问题:

A。将有效/所需的数据子集传递给绘图仪

corr = np.random.rand(10,10)
mask = np.zeros_like(corr, dtype=np.bool)
mask[np.triu_indices_from(mask)] = True

sns.heatmap(corr[1:,:-1], mask=mask[1:,:-1], cmap='inferno', vmin = -0.1, vmax=0.8, square=True)

B。渲染后,调整图的限制

ax = sns.heatmap(corr, mask=mask, cmap='inferno', vmin = -0.1, vmax=0.8, square=True)
ax.set_xlim(0,9)
ax.set_ylim(10,1)

尚不清楚您是否始终具有三角形有效区域,但是您可以检测到 您根据蒙版中所有设置的行从蒙版中获得的矩阵,以及 列。但是对于源自triu(或tril)的有效区域,限制仅是开始/结束的1分。

相关问题