You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整相关性矩阵图尺寸以优化可视化效果?

解决高特征量相关性矩阵热力图可读性问题

嗨,我完全懂你的困扰——72个特征的相关性矩阵默认尺寸下肯定会挤成一团,根本没法看清细节。咱们可以从调整图表尺寸、优化标签布局、简化冗余内容这几个方面来优化,一步步让热力图变得可读:

1. 直接放大图表尺寸

这是最直观的解决方法,在绘制热力图前用matplotlib设置更大的画布尺寸,给每个特征足够的显示空间:

%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns

corr = data.corr()
# 根据特征数量调整画布大小,72个特征建议至少设置(25,25)的尺寸
plt.figure(figsize=(25, 25))
sns.heatmap(corr, 
            xticklabels=corr.columns.values,
            yticklabels=corr.columns.values)
plt.show()

2. 优化标签显示,避免重叠

光放大尺寸还不够,标签重叠会依然影响可读性,咱们可以给标签添加旋转、调整对齐方式,同时缩小字体适配更多特征:

%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns

corr = data.corr()
plt.figure(figsize=(25, 25))
ax = sns.heatmap(corr, 
            xticklabels=corr.columns.values,
            yticklabels=corr.columns.values,
            fontsize=8)  # 缩小字体适配高密度特征
# 调整x轴标签旋转角度和对齐方式,彻底避免重叠
ax.set_xticklabels(ax.get_xticklabels(), rotation=45, ha='right')
plt.show()

3. 简化对称的相关性矩阵

相关性矩阵是对称的(A和B的相关系数等于B和A的),咱们可以只显示上三角或下三角区域,减少视觉冗余:

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

corr = data.corr()
plt.figure(figsize=(25, 25))
# 创建上三角掩码,只保留下三角区域显示
mask = np.triu(np.ones_like(corr, dtype=bool))
sns.heatmap(corr, 
            xticklabels=corr.columns.values,
            yticklabels=corr.columns.values,
            fontsize=8,
            mask=mask)  # 应用掩码隐藏冗余区域
ax.set_xticklabels(ax.get_xticklabels(), rotation=45, ha='right')
plt.show()

4. 突出关键相关性(可选)

如果不需要看所有相关性细节,可以只显示绝对值大于某一阈值的相关系数,或者关闭标注让颜色对比更清晰:

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

corr = data.corr()
plt.figure(figsize=(25, 25))
mask = np.triu(np.ones_like(corr, dtype=bool))
# 只保留绝对值>0.5的相关性标注,过滤弱相关的冗余信息
annot = np.where(np.abs(corr) > 0.5, corr, "")
sns.heatmap(corr, 
            xticklabels=corr.columns.values,
            yticklabels=corr.columns.values,
            fontsize=8,
            mask=mask,
            annot=annot,  # 仅显示关键相关性数值
            fmt=".2f")
ax.set_xticklabels(ax.get_xticklabels(), rotation=45, ha='right')
plt.show()

这些方法组合起来,应该能让你的72个特征相关性矩阵变得清晰可读啦!

内容的提问来源于stack exchange,提问作者stone rock

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:09:55