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

如何隐藏热力图中低于阈值的数值但保留颜色

解决Seaborn热力图隐藏小数值标注但保留单元格颜色的问题

核心思路是先正常绘制热力图保留所有单元格颜色,再手动修改热力图上的文本标注,把数值小于5的标注内容清空,具体实现如下:

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

# 模拟示例数据
data = np.array([[3, 7, 2], [8, 4, 9], [5, 1, 6]])

# 正常绘制热力图,先显示全部数值标注
ax = sns.heatmap(data, annot=True, fmt='g', cmap='viridis')

# 遍历所有文本标注元素
for text in ax.texts:
    # 提取标注数值并转为整数
    val = int(text.get_text())
    # 数值小于5时清空标注内容
    if val < 5:
        text.set_text('')

plt.show()

关键说明

  • annot=True 开启标注功能,fmt='g' 使用通用格式输出数值,避免科学计数法干扰数值解析
  • 通过ax.texts可以获取热力图上所有的文本标注对象,逐个检查数值后修改内容
  • 仅清空标注文本,不会改动原始数据和单元格的颜色渲染,完美实现需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 23:22:41