seaborn可视化——一文搞懂heatmap参数

2023-11-05

数据使用的是seborn内置数据
官网链接:https://seaborn.pydata.org/generated/seaborn.heatmap.html

data

import seaborn as sns
import matplotlib.pyplot as plt
glue = sns.load_dataset('glue').pivot("Model","Task","Score")
sns.heatmap(glue)

data

cmap

将数据值映射到颜色空间的不同颜色

cmap的可选值见另一篇博客:
https://blog.csdn.net/qq_43201025/article/details/131043840

sns.heatmap(glue,cmap='Reds')

cmap

linewidths、linecolor

  • linewidths:线条宽度
  • linecolor:线条颜色
sns.heatmap(glue
            ,cmap='Reds'
            ,linewidths=0.1
            ,linecolor='white')

线条设置

square

如果为True,则将坐标轴的两个轴设置为长短相同,也就相当于每个单元格都是方形的

sns.heatmap(glue
            ,cmap='Reds'
            ,linewidths=0.1
            ,linecolor='white'
            ,square=True)

square

ax

指定绘制的轴,一般在plt.subplots需要在一个画板画多个子图时使用

f,ax = plt.subplots(1,1)
sns.heatmap(glue
            ,cmap='Reds'
            ,linewidths=0.1
            ,linecolor='white'
            ,ax=ax)

ax

annot

如果为True,将数据值写入每个单元格。如果是与数据形状相同的数组,则将annot数组中的值写入热力图而不再是数据。

指定为True
sns.heatmap(glue
            ,cmap='Reds'
            ,linewidths=0.1
            ,linecolor='white'
            ,square=True
            ,annot=True)

annot

指定为同形状数组
sns.heatmap(glue
            ,cmap='Reds'
            ,linewidths=0.1
            ,linecolor='white'
            ,square=True
            ,annot=np.random.randint(10,size=(8,8)))

vmax、vmin

颜色映射的最大值和最小值,如果不指定,默认计算数据的最大值和最小值

sns.heatmap(glue
            ,cmap='Reds'
            ,linewidths=0.1
            ,linecolor='white'
            ,square=True
            ,annot=True
            ,vmax=glue.max().max()
            ,vmin=glue.min().min())

数据的最大最小值

sns.heatmap(glue
            ,cmap='Reds'
            ,linewidths=0.1
            ,linecolor='white'
            ,square=True
            ,annot=True
            ,vmax=100
            ,vmin=10)

在这里插入图片描述

sns.heatmap(glue
            ,cmap='Reds'
            ,linewidths=0.1
            ,linecolor='white'
            ,square=True
            ,annot=True
            ,vmax=80
            ,vmin=30)

在这里插入图片描述

annot_kws

设置数字展示的参数,例如大小、颜色等
常用的有:

  • fontfamily或family「字体类型」: {FONTNAME, ‘serif’, ‘sans-serif’, ‘cursive’, ‘fantasy’, ‘monospace’}
  • fontsize或size「字体大小」: float or {‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’}
  • fontweight或weight「粗细」: {a numeric value in range 0-1000, ‘ultralight’, ‘light’, ‘normal’, ‘regular’, ‘book’, ‘medium’, ‘roman’, ‘semibold’, ‘demibold’, ‘demi’, ‘bold’, ‘heavy’, ‘extra bold’, ‘black’}
  • color「字体颜色」
  • fontstyle或style「字体风格」: {‘normal’, ‘italic’, ‘oblique’}
    具体设置见https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.text.html#matplotlib.axes.Axes.text
sns.heatmap(glue
            ,cmap='Reds'
            ,linewidths=0.1
            ,linecolor='white'
            ,square=True
            ,annot=True
            ,annot_kws={
                "size": 12
                , "family": "serif"
                , "weight": "light"})

设置字体格式

mask

如果使用该参数,数据将不会显示在mask为True的单元格中。缺少值的单元格将被自动屏蔽。

mask = (np.random.randint(2,size=(8,8))==0)
mask

在这里插入图片描述

sns.heatmap(glue
            , cmap='Reds'
            , linewidths=0.1
            , linecolor='white'
            , square=True
            , annot= True
            , mask=mask)

mask

xticklabels、yticklabels

如果为True,默认使用数据的列名。如果为False,则不绘制列名。如果类似于列表,则将这些替代标签绘制为xticklabels。如果指定的是整数,则使用列名绘制,但每个n标签绘制一个。如果是“auto”,尝试密集地绘制不重叠的标签。

设置为auto
sns.heatmap(glue
            , cmap='Reds'
            , linewidths=0.1
            , linecolor='white'
            , square=True
            , annot= True
            , xticklabels='auto'
            , yticklabels=False
           )

auto

指定整数
sns.heatmap(glue
            , cmap='Reds'
            , linewidths=0.1
            , linecolor='white'
            , square=True
            , annot= True
            , xticklabels=4
            , yticklabels=False
           )

在这里插入图片描述

指定为True
sns.heatmap(glue
            , cmap='Reds'
            , linewidths=0.1
            , linecolor='white'
            , square=True
            , annot= True
            , xticklabels=True
            , yticklabels=False
           )

True

center

在绘制发散数据时使颜色图居中的值。如果没有指定,使用此参数将改变默认的cmap,还是会使用cmap的颜色,但是会改变对最大值到最小值之间颜色的渐变范围

sns.heatmap(glue
            , cmap='Reds'
            , linewidths=0.1
            , linecolor='white'
            , square=True
            , annot= True
            , center=0
           )

在这里插入图片描述

sns.heatmap(glue
            , cmap='Reds'
            , linewidths=0.1
            , linecolor='white'
            , square=True
            , annot= True
            , center=100
           )

在这里插入图片描述

sns.heatmap(glue
            , cmap='Reds'
            , linewidths=0.1
            , linecolor='white'
            , square=True
            , annot= True
            , center=50
           )

在这里插入图片描述
指定center前热力图为:
在这里插入图片描述

指定center前cmap='Reds’为

robust

如果为True,并且没有设置vmin、vmax则使用robust分位数来映射数据的颜色

sns.heatmap(glue
            , cmap='Reds'
            , linewidths=0.1
            , linecolor='white'
            , square=True
            , annot= True
            , robust=True
           )

在这里插入图片描述

sns.heatmap(glue
            , cmap='Reds'
            , linewidths=0.1
            , linecolor='white'
            , square=True
            , annot= True
            , robust=True
            , vmax= 90
            , vmin=30
           )

在这里插入图片描述

fmt

添加注释时使用的字符串格式化代码。

sns.heatmap(glue
            , cmap='Reds'
            , linewidths=0.1
            , linecolor='white'
            , square=True
            , annot= True
            , fmt='.2f'
           )

在这里插入图片描述

cbar

是否绘制颜色条

sns.heatmap(glue
            , cmap='Reds'
            , linewidths=0.1
            , linecolor='white'
            , square=True
            , annot= True
            , cbar= False
           )

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

seaborn可视化——一文搞懂heatmap参数 的相关文章

  • 尽管极其懒惰,但如何在 Python 中模拟 IMAP 服务器?

    我很好奇是否有一种简单的方法来模拟 IMAP 服务器 例如imaplib模块 在Python中 without做很多工作 是否有预先存在的解决方案 理想情况下 我可以连接到现有的 IMAP 服务器 进行转储 并让模拟服务器在真实的邮箱 电子
  • 使用Python开发Web应用程序

    我一直在用 python 做一些工作 但这都是针对独立应用程序的 我很想知道 python 的任何分支是否支持 Web 开发 有人还会建议一个好的教程或网站吗 我可以从中学习一些使用 python 进行 Web 开发的基础知识 既然大家都说
  • 如何在python中读取多个文件中的文本

    我的文件夹中有许多文本文件 大约有 3000 个文件 每个文件中第 193 行是唯一包含重要信息的行 我如何使用 python 将所有这些文件读入 1 个文本文件 os 模块中有一个名为 list dir 的函数 该函数返回给定目录中所有文
  • Python PAM 模块的安全问题?

    我有兴趣编写一个 PAM 模块 该模块将利用流行的 Unix 登录身份验证机制 我过去的大部分编程经验都是使用 Python 进行的 并且我正在交互的系统已经有一个 Python API 我用谷歌搜索发现pam python http pa
  • Pycharm Python 控制台不打印输出

    我有一个从 Pycharm python 控制台调用的函数 但没有显示输出 In 2 def problem1 6 for i in range 1 101 2 print i end In 3 problem1 6 In 4 另一方面 像
  • 如何在android上的python kivy中关闭应用程序后使服务继续工作

    我希望我的服务在关闭应用程序后继续工作 但我做不到 我听说我应该使用startForeground 但如何在Python中做到这一点呢 应用程序代码 from kivy app import App from kivy uix floatl
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • 使用 Pycharm 在 Windows 下启动应用程序时出现 UnicodeDecodeError

    问题是当我尝试启动应用程序 app py 时 我收到以下错误 UnicodeDecodeError utf 8 编解码器无法解码位置 5 中的字节 0xb3 起始字节无效 整个文件app py coding utf 8 from flask
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • python pandas 中的双端队列

    我正在使用Python的deque 实现一个简单的循环缓冲区 from collections import deque import numpy as np test sequence np array range 100 2 resha
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • 表达式中的 Python 'in' 关键字与 for 循环中的比较 [重复]

    这个问题在这里已经有答案了 我明白什么是in运算符在此代码中执行的操作 some list 1 2 3 4 5 print 2 in some list 我也明白i将采用此代码中列表的每个值 for i in 1 2 3 4 5 print
  • ExpectedFailure 被计为错误而不是通过

    我在用着expectedFailure因为有一个我想记录的错误 我现在无法修复 但想将来再回来解决 我的理解expectedFailure是它会将测试计为通过 但在摘要中表示预期失败的数量为 x 类似于它如何处理跳过的 tets 但是 当我
  • 如何改变Python中特定打印字母的颜色?

    我正在尝试做一个简短的测验 并且想将错误答案显示为红色 欢迎来到我的测验 您想开始吗 是的 祝你好运 法国的首都是哪里 法国 随机答案不正确的答案 我正在尝试将其显示为红色 我的代码是 print Welcome to my Quiz be
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • 为美国东部以外地区的 Cloudwatch 警报发送短信?

    AWS 似乎没有为美国东部以外的 SNS 主题订阅者提供 SMS 作为协议 我想连接我的 CloudWatch 警报并在发生故障时接收短信 但无法将其发送到 SMS YES 经过一番挖掘后 我能够让它发挥作用 它比仅仅选择一个主题或输入闹钟
  • 如何在 Django 中使用并发进程记录到单个文件而不使用独占锁

    给定一个在多个服务器上同时执行的 Django 应用程序 该应用程序如何记录到单个共享日志文件 在网络共享中 而不保持该文件以独占模式永久打开 当您想要利用日志流时 这种情况适用于 Windows Azure 网站上托管的 Django 应
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们

随机推荐

  • 禁止系统运行某个进程的简单方法(注册表操作)

    一 解决方法 修改注册表 HKLM SOFTWARE Microsoft Windows NT CurrentVersion Image File Execution Options 下建立一个以要禁用的程序名命名的子项 如 hudan e
  • python爬虫修饰_python爬虫URL重试机制的实现方法(python2.7以及python3.5)

    应用场景 状态不是200的URL重试多次 代码比较简单还有部分注释 python2 7实现 coding utf 8 ayou import requests def url retry url num retries 3 print ac
  • 生活中那些六 “有” 的人

    1 有承诺 一些事情开始的时候总会有些协议与约定 我们称其为承诺 我们必须遵守承诺 即使是约会也要遵守 也不能迟到 迟到这件事不但会妨碍我们所有人 还意味着迟到者不尊重大家的时间 这种约定从某种意义上来讲也是承诺 如果你来晚了 这就表示你的
  • 蓝桥杯考生规则

    2017年模拟赛 本科组 考生须知 l 考试开始后 选手首先下载题目 并使用考场现场公布的解压密码解压试题 l 考试时间为4小时 时间截止后 提交答案无效 l 在考试强制结束前 选手可以主动结束考试 需要身份验证 结束考试后将无法继续提交或
  • java计算机毕业设计火车订票系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计火车订票系统源码 mysql数据库 系统 lw文档 部署 java计算机毕业设计火车订票系统源码 mysql数据库 系统 lw文档 部署 本源码技术栈 项目架构 B S架构 开发语言 Java语言 开发软件 idea
  • Tomcat调优

    问题定位 对于Tomcat的处理耗时较长的问题主要有当时的并发量 session数 内存及内存的回收等几个方面造成的 出现问题之后就要进行分析了 1 关于Tomcat的session数目 这个可以直接从Tomcat的web管理界面去查看即可
  • Go语言学习13-类型转换

    类型转换 引言 类型转换 1 概念 2 数值类型之间的转换 3 与string类型相关的转换 4 别名类型值之间的转换 结语 引言 在上一篇博文中 我们介绍了 Go 语言的 数据的使用 本篇博文 我们将介绍 Go 语言的类型转换 类型转换
  • HTTP头的Expires与Cache-control

    1 概念 Cache control用于控制HTTP缓存 在HTTP 1 0中可能部分没实现 仅仅实现了Pragma no cache 数据包中的格式 Cache Control cache directive cache directiv
  • 程序员的十个等级

    转载自 http blog csdn net fx0000001 article details 50397265 如果你还迷茫请看这里 如果你很牛逼请看这里 如果你很自傲请看这里 总有你想学会的 自西方文艺复兴以来 中国在自然科学方面落后
  • 不带头结点的单链表

    建立结构体 和带头结点但单链表一样 按需建立即可 我以建立一个储存学生信息的链表举例 typedef struct node char name 20 int number struct node next Node LinkList 单链
  • 探索全桥电机驱动模块:实现精确控制与高效驱动

    全桥电机驱动模块是一种在现代工程应用中广泛使用的电机驱动方式 对于需要精确控制和高效驱动的场景 如机器人 无人机 电动车等 全桥电机驱动模块提供了理想的解决方案 本文将介绍全桥电机驱动模块的原理和实际应用场景 并对几种常见的全桥驱动芯片进行
  • csdn的Markdown行首缩进的两种方法,非常全

    csdn的行首缩进 鉴于不同编辑器的Markdown语法略微不同 故缩进也略不同 1 特殊占位符 不缩进 行首缩进 nbsp 行首缩进 160 四分之一中文占位符 行首缩进 8197 四分之一中文占位符 行首缩进 ensp 行首缩进 819
  • Spring中Bean的生命周期

    Spring Bean的生命周期是从Bean 实例化之后 即通过反射创建出对象之后 到Bean成为一个完整对象 最终存储到单例池中 这个过程被称为Spring Bean的生命周期 Spring Bean的生命周期大体上分为四个阶段 实例化
  • vue2.0项目调用多个IP接口

    项目中经常遇到跨域问题 最简单的方式就在本地配置代理 可偶尔遇到一个页面里面需要调用来自两个以上不同IP段的接口 多个IP要怎么配置代理呢 请往下看 在项目目录 config index js文件配置代理 module exports de
  • pytest

    一 pytest是单元测试框架 单元测试 对软件开发中 对软件的最小单位 函数 方法 进行正确性检查测试 java框架 jnuit和testing python框架 unittest和pytest 流程 i 测试发现 从多个文件中找到测试用
  • 英俊飘逸气宇轩昂——同人立绘征集大赛凤九天·金奖

    导语 本期介绍的作品是由来自江西科技师范大学的计世平设计的凤九天形象 荣获了本次大赛凤九天组别的金奖 2020年12月22日 由首都版权协会联合全国部分高等院校和链游玩家及部分企业共同举办的 2020同人立绘征集大赛 正式启动 并于2021
  • 详解pop()和push()方法

    pop 是移除堆栈顶部的元素并且返回它的值 push 是把对象压入堆栈的顶部 这里的堆栈不是特指栈 是LinkedList中特有的方法 LinkedHashset和LinkedHashMap ArrayList中没有此方法 下面是个小李子
  • Unity UV 水效果实现

    Unity UV 水效果实现 Unity Water Shader 组件搭载 基本参数调节 所需图片 效果呈现 Unity Water Shader Shader Custom SeaWave Properties WaterTex 水纹理
  • 潘周聃之Python分聃 -----数字雨加入潘周聃运动曲线

    作者 勇敢di牛牛 个人项目地址 englishlearningapp 个人简介 有一年工作经验的大学生 工作 汽车系统应用开发 阿里集团 个人网站 牛牛 小窝 独学而无友 则孤陋而寡闻 前言 相信各位同学最近一定被潘周聃刷屏和洗脑了 互联
  • seaborn可视化——一文搞懂heatmap参数

    文章目录 data cmap linewidths linecolor square ax annot 指定为True 指定为同形状数组 vmax vmin annot kws mask xticklabels yticklabels 设置