讲师中心 微信公众号
AI工具推荐 视频效率加速

seaborn 热力图怎么让标注数字只显示两位小数?

夜辰君_3231

夜辰君_3231

发布时间:2026-01-23 20:11:39

|

923人浏览过

|

来源于php中文网

原创

最简单方法是用fmt=".2f"强制保留两位小数;需配合annot=True使用,否则无效;若数据为object类型或自定义annot数组,fmt将被忽略;显示异常时应检查数据类型并预处理。

seaborn 热力图怎么让标注数字只显示两位小数?

直接用 fmt=".2f" 参数

这是最简单也最常用的方法:fmt=".2f" 会强制所有标注数字保留两位小数,不四舍五入到整数、不显示科学计数法,也不受原始数据类型干扰。Seaborn 默认的 fmt".2g",它在数值较小时显示小数,较大时自动切为科学计数(比如 0.001230.00123,但 1234561.2e+05),这往往不是你想要的。

实操建议:

  • 只要想统一显示“xx.xx”格式,无条件加 fmt=".2f"
  • 配合 annot=True 使用,缺一不可;只设 annot=True 会走默认格式
  • 如果数据本身是整数(如混淆矩阵计数),".2f" 会变成 "5.00" —— 这是正常行为,若不想补零,改用 ".0f" 或自定义函数

fmt=".2f" 不够用:传入自定义字符串数组

比如你希望正数标 “+0.23”,负数标 “−0.45”,或某些格子留空、加单位(如 “0.78s”),fmt 就力不从心了。这时可以把 annot 设为一个和数据同形状的字符串数组。

常见场景:

  • 相关系数矩阵中,只对绝对值 > 0.3 的格子标注:annot=np.where(np.abs(corr) > 0.3, corr.round(2).astype(str), "")
  • 需要加百分号又控制小数位:先用 np.vectorize(lambda x: f"{x:.1%}") 生成字符串数组,再传给 annot
  • 注意:此时 fmt 参数会被忽略,不再起作用

为什么有时写了 fmt=".2f" 还显示很多位小数?

这不是 fmt 失效,而是你可能踩了这几个坑:

  • dataobject 类型的 DataFrame(比如混了字符串或 NaN)→ Seaborn 无法解析数值,退化为调用 str() 显示原始内容。解决:先 data = data.astype(float) 或用 pd.to_numeric(..., errors="coerce")
  • 用了 annot=custom_list 却还写了 fmt → 如上所述,fmt 被静默忽略,字符串内容完全由你传入的数组决定
  • 数值本身是 np.float64 但含极小误差(如 0.1 + 0.2 = 0.30000000000000004),".2f" 仍会显示 "0.30",视觉上没问题;但若要彻底干净,预处理时用 np.round(data, 2)

进阶提醒:别忽略 annot_kws 的字体适配

两位小数让数字变长,尤其在密集小矩阵里容易重叠或被截断。光调 fmt 不够,还得同步微调文字:

  • 缩小字号:annot_kws={"size": 8}
  • 加粗提升可读性:annot_kws={"weight": "bold"}
  • 避免颜色遮挡:如果背景色太浅(如 cmap="Blues" 最浅处接近白),深色字会看不清 → 改用 annot_kws={"color": "black"} 或反色逻辑
  • 这些设置不改变数字精度,但直接影响“能不能看清两位小数”这个最终效果
真正卡住人的,往往不是不知道 fmt=".2f",而是数据类型没清理干净、或误以为 fmt 对自定义 annot 也生效。把这两点盯牢,两位小数就稳了。

热门AI工具

更多
Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

相关专题

更多
数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2311

2023.10.31

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

494

2025.10.31

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

402

2026.02.12

css中float用法
css中float用法

css中float属性允许元素脱离文档流并沿其父元素边缘排列,用于创建并排列、对齐文本图像、浮动菜单边栏和重叠元素。想了解更多float的相关内容,可以阅读本专题下面的文章。

5247

2024.04.28

C++中int、float和double的区别
C++中int、float和double的区别

本专题整合了c++中int和double的区别,阅读专题下面的文章了解更多详细内容。

564

2025.10.23

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

1518

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2184

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

5684

2023.10.24

Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

0

2026.09.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP基础入门课程
PHP基础入门课程

共33课时 | 3.2万人学习

Go语言教程-全程干货无废话
Go语言教程-全程干货无废话

共100课时 | 17.4万人学习

走进 ES6 新标准语法
走进 ES6 新标准语法

共15课时 | 2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn