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

如何在seaborn heatmap中屏蔽特定数值仅展示±0.25区间的相关系数

Seaborn热图仅展示±0.25区间相关系数的实现方案

核心逻辑是通过掩码标记超出范围的数值位置,绘图时直接屏蔽对应区域即可,具体实现步骤如下:

  • 第一步:导入依赖,准备相关系数矩阵
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

# 替换为你自己的相关系数矩阵,此处为示例随机矩阵
corr_matrix = np.random.randn(8, 8)
  • 第二步:生成掩码矩阵
    掩码中True对应需要屏蔽的区域,也就是绝对值大于0.25的数值位置:
mask = np.abs(corr_matrix) > 0.25
  • 第三步:绘制热图
    直接将掩码传入heatmap的mask参数即可实现屏蔽,同时可以固定色阶范围优化显示效果:
plt.figure(figsize=(9, 7))
sns.heatmap(
    corr_matrix,
    mask=mask, # 核心参数,传入掩码屏蔽对应区域
    annot=True, # 开启数值标注,仅会显示未被屏蔽的区间数值
    vmin=-0.25,
    vmax=0.25, # 固定色阶到±0.25,避免色阶受超出范围的数值影响
    cmap="coolwarm",
    cbar=True
)
plt.show()
  • 可选自定义设置
    如果需要调整屏蔽区域的显示样式,可以先对原始矩阵做截断再绘图:
# 将超出±0.25的数值替换为空值
processed_corr = corr_matrix.copy()
processed_corr[np.abs(processed_corr) > 0.25] = np.nan

# 绘图时自定义空值区域的颜色
sns.heatmap(
    processed_corr,
    annot=True,
    vmin=-0.25,
    vmax=0.25,
    cmap="coolwarm",
    na_color="lightgray" # 自定义屏蔽区域的填充色
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 04:21:02