【Python可视化系列】一文教会你绘制美观的热力图(理论+源码)
一、问题
前文相关回顾:
【Python可视化系列】一文彻底教会你绘制美观的折线图(理论+源码)
【Python可视化系列】一文教会你绘制美观的柱状图(理论+源码)
【Python可视化系列】一文教会你绘制美观的直方图(理论+源码)
本文将总结热力图的绘制方法。热力图(Heatmap)是一种可视化工具,用于展示矩阵数据的模式和关联性。在热力图中,数据的值通过颜色的变化来表示,通常使用渐变色的色阶来表示数据的大小。
二、基本热力图
2.1 seaborn.heatmap()参数详解
seaborn.heatmap(data, vmin=None, vmax=None, cmap=None, center=None, robust=False, annot=None, fmt='.2g',
annot_kws=None,linewidths=0, linecolor='white', cbar=True, cbar_kws=None, cbar_ax=None, square=False,
xticklabels='auto', yticklabels='auto',mask=None, ax=None, **kwargs)data:矩阵数据集,可以使numpy的数组(array),如果是pandas的dataframe,则df的index/column信息会分别对应到heatmap的columns和rows
vmin,vmax:用于指定图例中最小值与最大值的显示值
cmap:指定一个colormap对象,用于热力图的填充色
center:指定颜色中心值,通过该参数可以调整热力图的颜色深浅
annot:指定一个bool类型的值或与data参数形状一样的数组,如果为True,就在热力图的每个单元上显示数值
fmt:指定单元格中数据的显示格式
annot_kws:有关单元格中数值标签的其他属性描述,如颜色、大小等
linewidths :指定每个单元格的边框宽度
linecolor:指定每个单元格的边框颜色
cbar:bool类型参数,是否用颜色条作为图例,默认为True
square:bool类型参数,是否使热力图的每个单元格为正方形,默认为False
cbar_kws:有关颜色条的其他属性描述
xticklabels,yticklabels:指定热力图x轴和y轴的刻度标签,如果为True,则分别以数据框的变量名和行名称作为刻度标签
mask:用于突出显示某些数据
ax:用于指定子图的位置
用的比较多的参数是data、annot、fmt、xticklabels,yticklabels
2.2 基于矩阵绘制热力图
import numpy as np
import seaborn as sns
import matplotlib.pyplot as pltnp.random.seed(0)
values = np.random.rand(10, 12) # 自定义数据x_ticks = ['x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'x8', 'x9', 'x10', 'x11', 'x12']
y_ticks = ['y1', 'y2', 'y3', 'y4', 'y5', 'y6', 'y7', 'y8', 'y9', 'y10'] # 自定义横纵轴
ax = sns.heatmap(values, xticklabels=x_ticks, yticklabels=y_ticks, annot=True,fmt ='0.2g')
ax.set_title('Heatmap') # 图标题
ax.set_xlabel('x label') # x轴标题
ax.set_ylabel('y label')
plt.show()
# figure = ax.get_figure()
# figure.savefig('sns_heatmap.jpg') # 保存图片
矩阵数据集如下:

对应的热力图如下:

三、相关性热力图
3.1 准备数据
import pandas as pd
data = pd.read_csv(r'E:\数据杂坛\\UCI Heart Disease Dataset.csv')
df = pd.DataFrame(data)
dataframe数据如下:

3.2 绘制dataframe的相关性热力图
sns.set(font_scale=1.2)
plt.rc('font',family=['Times New Roman', 'SimSun'], size=12)
plt.subplots_adjust()
ax = sns.heatmap(df.corr(), annot=True, fmt=".2f")
ax.set_title('相关性热力图') # 图标题
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
# figure = ax.get_figure()
# figure.savefig('sns_heatmap.jpg', bbox_inches='tight')
相关性热力图如下:

本期内容就到这里,我们下期再见!需要数据集和源码的小伙伴可以关注私信作者或者底部公众号添加作者微信!
作者简介:
读研期间发表6篇SCI数据挖掘相关论文,现在某研究院从事数据算法相关科研工作,结合自身科研实践经历不定期分享关于Python、机器学习、深度学习、人工智能系列基础知识与应用案例。致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。
相关文章:
【Python可视化系列】一文教会你绘制美观的热力图(理论+源码)
一、问题 前文相关回顾: 【Python可视化系列】一文彻底教会你绘制美观的折线图(理论源码) 【Python可视化系列】一文教会你绘制美观的柱状图(理论源码) 【Python可视化系列】一文教会你绘制美观的直方图(理…...
百度Apollo五步入门自动驾驶:Dreamview与离线数据包分析(文末赠送apollo周边)
🎬 鸽芷咕:个人主页 🔥 个人专栏:《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 粉丝福利活动 ✅参与方式:通过连接报名观看课程,即可免费获取精美周边 ⛳️活动链接…...
为什么IPv6 可以作为低功耗蓝牙的物联网体系结构?
蓝牙40规范引人了低功耗蓝牙(Bluetooth Low Energy,BLE)技术。低牙是一种低能低延成本的无线通信技术。 与传统蓝牙相比,低功耗蓝牙同样使用24GHz频段,但其将信道重新划分为 40个,包含37 个数据信道和3个广播信道(传统蓝牙共使用 79 个信道)低功蓝牙的协…...
GPT每预测一个token就要调用一次模型
问题:下图调用了多少次模型? 不久以前我以为是调用一次 通过看代码是输出多少个token就调用多少次,如图所示: 我理解为分类模型 预测下一个token可以理解为分类模型,类别是vocab的所有token,每一次调用都…...
运维工程师的出路到底在哪里?
1.35岁被称为运维半衰期,主要是因为运维工作的技术栈和工作方式在不断更新和演进。随着新技术的出现和发展,老旧的技术逐渐被淘汰,运维工作也需要不断学习和适应新技术,否则就容易被市场淘汰。 2.要顺利过渡半衰期,运…...
2312clang,基于访问者的前端动作
原文 基于RecursiveASTVisitor的ASTFrontendActions. 创建用RecursiveASTVisitor查找特定名字的CXXRecordDeclAST节点的FrontendAction. 创建FrontendAction 编写基于clang的工具(如Clang插件或基于LibTooling的独立工具)时,常见入口是允许在编译过程中执行用户特定操作的F…...
怎么搭建实时渲染云传输服务器
实时渲染云传输技术方案,在数字孪生、虚拟仿真领域使用越来越多,可能很多想使用该技术方案项目还不知道具体该怎么搭建云传输服务器,具体怎么使用实时云渲染平台系统。点量云小芹将对这两个问题做集中分享。 一、实时渲染服务器怎么搭建&…...
如何在生产环境正确使用Redis
一、在生产环境使用Redis 如果在生产环境使用Redis,需要遵守一定的使用规范,以保障服务稳定、高效。。 1.1、明确Redis集群的服务定位 1、仅适用于缓存场景:Redis定位于高性能缓存服务,强调快速读写和低延迟的特性,…...
LeetCode-环形链表问题
1.环形链表(141) 题目描述: 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统…...
C# 读取Word表格到DataSet
目录 功能需求 Office 数据源的一些映射关系 范例运行环境 配置Office DCOM 关键代码 组件库引入 核心代码 杀掉进程 总结 功能需求 在应用项目里,多数情况下我们会遇到导入 Excel 文件数据到数据库的功能需求,但某些情况下,也存…...
构建外卖系统:从技术到实战
在当今高度数字化的社会中,外卖系统的开发变得愈发重要。本文将从技术角度出发,带领读者一步步构建一个基础的外卖系统,并涵盖关键技术和实际代码。 1. 技术选型 1.1 后端开发 选择Node.js和Express框架进行后端开发,搭建一个灵…...
城市之眼:数据可视化在智慧城市的角色
作为智慧城市建设的核心组成部分,数据可视化扮演着至关重要的角色。在城市中,数据源源不断地产生,涵盖了从交通流量、环境质量到市民需求等各个方面。而数据可视化作为将这些数据呈现出来的手段,对智慧城市的发展起着关键性的作用…...
Nature | Baker团队用AI设计出史上最高互作强度的蛋白质
蛋白质是生命的基础,是生命功能的主要执行者,其结构与功能由氨基酸序列所决定。蛋白质设计是指对新蛋白质分子进行人为的合理设计,旨在设计新的活性,行为或目的,并增进对蛋白质功能的基本了解。可以从头开始设计蛋白质…...
C# 初识System.IO.Pipelines
写在前面 在进一步了解Socket粘包分包的过程中,了解到了.NET 中的 System.IO.Pipelines,可以更优雅高效的解决这个问题;先跟随官方的示例做个初步的认识。 System.IO.Pipelines 是一个库,旨在使在 .NET 中执行高性能 I/O 更加容…...
嵌入式——RTC内置实时时钟
学习目标 理解原理图RTC设计部分掌握初始化RTC掌握设置时间掌握读取时间学习内容 RTC原理图 RTC结构框图 RTC时钟 开发流程 加载依赖。gd32f4xx_rtc.c,gd32f4xx_pmu.c初始化RTC。时钟配置。获取时钟。RTC初始化 // 电池管理加载 rcu_periph_clock_enable(RCU_PMU); pmu_back…...
nodejs微信小程序+python+PHP的热带野生动物园景点预约订票系统的设计与实现-计算机毕业设计推荐
目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…...
ASP.NET MVC的5种AuthorizationFilter
一、IAuthorizationFilter 所有的AuthorizationFilter实现了接口IAuthorizationFilter。如下面的代码片断所示,IAuthorizationFilter定义了一个OnAuthorization方法用于实现授权的操作。作为该方法的参数filterContext是一个表示授权上下文的AuthorizationContext对…...
C语言初学8:函数和作用域
一、函数 函数声明告诉编译器函数的名称、返回值类型和参数。在一个源文件中定义函数且在另一个文件中调用函数时,函数声明是必需的。函数定义提供了函数的实际主体。...
2024年科技盛宴“上海智博会·上海软博会”招商工作接近尾声
2024年上海智博会和上海软博会即将于3月份在上海跨国采购会展中心盛大召开。作为全球科技和软件行业的盛会,这两大展会汇集了业界顶尖的企业、创新技术和前瞻思想,吸引了来自世界各地的专业人士和参展商。 今年的展会将一如既往地为大家呈现最前沿的科技…...
深圳锐科达SIP矿用电话模块SV-2801VP
深圳锐科达SIP矿用电话模块SV-2801VP 一、简介 SV-2800VP系列模块是我司设计研发的一款用于井下的矿用IP音频传输模块,可用此模块打造一套低延迟、高效率、高灵活和多扩展的IP矿用广播对讲系统,亦可对传统煤矿电话系统加装此模块,进行智能化…...
如何通过C共享库实现AutoHotkey与Go语言的跨语言调用:完整指南
如何通过C共享库实现AutoHotkey与Go语言的跨语言调用:完整指南 【免费下载链接】AutoHotkey AutoHotkey - macro-creation and automation-oriented scripting utility for Windows. 项目地址: https://gitcode.com/gh_mirrors/au/AutoHotkey AutoHotkey是一…...
HoRain云--NumPy数据类型全解析:高效计算的关键
🎬 HoRain云小助手:个人主页 🔥 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!…...
springboot-vue+nodejs 的酒店客房预定管理系统的设计与实现
目录技术栈选择系统模块划分后端实现前端实现中间层实现数据库设计支付集成测试与部署项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作技术栈选择 Spring Boot 作为后端框架,提供 RESTful API 接口;Vue.…...
Face3D.ai Pro应用场景:VR社交应用中用户实时3D头像驱动数据生成
Face3D.ai Pro应用场景:VR社交应用中用户实时3D头像驱动数据生成 想象一下,你刚进入一个VR社交平台,想创建一个能代表自己的虚拟形象。传统方法要么是捏脸半小时,要么是上传照片后得到一个粗糙、失真的3D模型,完全不像…...
基于Docker与Orthanc构建轻量级医学影像PACS系统实践
1. 为什么选择DockerOrthanc搭建PACS系统 第一次接触医学影像管理系统时,我被传统PACS的复杂部署流程吓到了——需要配置数据库、安装依赖库、调试网络参数,光是环境准备就要花上大半天。直到发现Orthanc这个宝藏工具,配合Docker容器化技术&a…...
微信小程序-live-player-实时视频-截图与文件流转换实战
1. 微信小程序live-player组件基础使用 微信小程序的live-player组件是专门用于播放实时视频流的核心组件。我在多个实际项目中使用过这个组件,发现它比普通的video组件更适合直播场景。live-player支持RTMP、FLV等常见直播协议,延迟可以控制在3秒以内&…...
PyTorch 2.5快速部署指南:3步开启你的AI模型训练之旅
PyTorch 2.5快速部署指南:3步开启你的AI模型训练之旅 1. PyTorch 2.5环境准备 PyTorch 2.5作为当前最流行的深度学习框架之一,带来了多项性能优化和新特性。在开始之前,我们需要确保环境配置正确。 1.1 系统要求检查 操作系统:…...
放弃OpenVINO!在树莓派5上用Anaconda环境直接跑通YOLOv5摄像头检测
放弃OpenVINO!在树莓派5上用Anaconda环境直接跑通YOLOv5摄像头检测 树莓派作为嵌入式开发的明星产品,其第五代在性能上有了显著提升,4GB内存和2.4GHz四核处理器让它能够胜任更多AI推理任务。而YOLOv5作为目标检测领域的轻量级标杆,…...
SNAP小白必看:哨兵1 SLC数据预处理全流程详解(附避坑指南)
SNAP小白必看:哨兵1 SLC数据预处理全流程详解(附避坑指南) 在遥感数据处理领域,哨兵1号卫星提供的SLC(Single Look Complex)数据因其高分辨率和极化信息,成为地表监测、灾害评估等领域的重要数据…...
终极指南:如何让Nautilus、Dolphin等Linux文件管理器拥有macOS Finder般流畅的快捷键体验
终极指南:如何让Nautilus、Dolphin等Linux文件管理器拥有macOS Finder般流畅的快捷键体验 【免费下载链接】kinto Mac-style shortcut keys for Linux & Windows. 项目地址: https://gitcode.com/gh_mirrors/kin/kinto 你是否厌倦了在Linux文件管理器中不…...
