Python绘制相关系数热力图

相关系数热力图是一种可视化工具,用于展示变量之间的相关性。它在数据分析和统计中非常有用,尤其是在探索数据集的内在关系时。本文将介绍如何使用Python绘制相关系数热力图。

一、准备——导入库

使用Pandas来处理数据,Matplotlib和Seaborn来进行绘图。

pip install pandas matplotlib seaborn
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

二、实例数据创建

随机创建:

#设置随机数以保证结果可重复
np.random.seed(0)#创建一个包含4个变量的随机数据集
data = pd.DataFrame({'A': np.random.rand(100),'B': np.random.rand(100),'C': np.random.rand(100),'D': np.random.rand(100)
})

读取Excel文件:

file_path = 'data.xlsx'
data = pd.read_excel(file_path)

三、计算相关系数矩阵

相关系数矩阵是一个对称矩阵,其中的元素表示每对变量之间的相关性

corr = data.corr()
print(corr)

四、绘制

# 设置绘图风格
sns.set(style='white')# 创建一个画布
plt.figure(figsize=(8, 6))# 绘制热力图
sns.heatmap(corr, annot=True, fmt=".2f", cmap='coolwarm', vmin=-1, vmax=1, square=True, linewidths=.5)# 添加标题
plt.title('Correlation Heatmap')# 显示热力图
plt.show()

附录:

sns.set(style='white'):设置Seaborn的绘图风格为白色背景。
plt.figure(figsize=(8, 6)):创建一个大小为8x6的画布。
sns.heatmap(corr, annot=True, fmt=".2f", cmap='coolwarm', vmin=-1, vmax=1, square=True, linewidths=.5):绘制热力图。
corr:相关系数矩阵。
annot=True:在每个单元格显示相关系数值。
fmt=".2f":相关系数值的格式,保留两位小数。
cmap='coolwarm':颜色映射,coolwarm在负相关(蓝色)和正相关(红色)之间进行渐变。
vmin=-1和vmax=1:设置颜色条的最小值和最大值。
square=True:每个单元格为正方形。
linewidths=.5:单元格之间的分隔线宽度。
plt.title('Correlation Heatmap'):添加热力图标题。
plt.show():显示热力图

五、完整实例

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns# 读取Excel文件
file_path = 'data.xlsx'
data = pd.read_excel(file_path)# 计算相关系数矩阵
corr = data.corr()# 设置绘图风格和大小
sns.set(style='whitegrid', font_scale=1.2)
plt.figure(figsize=(10, 8))# 绘制热力图
heatmap = sns.heatmap(corr, annot=True, fmt=".2f", cmap='coolwarm', vmin=-1, vmax=1, square=True, linewidths=.5, cbar_kws={"shrink": .75})# 添加标题和标签
plt.title('Correlation Heatmap', fontsize=20)
plt.xticks(rotation=45, ha='right')
plt.yticks(rotation=0)# 调整布局以适应标签
plt.tight_layout()# 显示热力图
plt.show()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/46485.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis笔记2

redis是用c语言写的,放不频繁更新的数据(用户数据。课程数据) Redis 中,"穿透"通常指的是缓存穿透(Cache Penetration)问题,这是指一种恶意或非法请求直接绕过缓存层,直接访问数据库或…

Qt | 绘制椭圆、弧、弦、扇形、圆角矩形

点击上方"蓝字"关注我们 01、简介 1、需要使用到的 QPainter 类中的函数 2、绘制椭圆的方法有 绘制给定矩形的内接椭圆和根据中心点与椭圆 x 方向和 y 方向的半径绘制,原理见下图 3、绘制弧、弦、扇形的原理: 1)、弧是椭圆上的一段曲线,因此其绘制方法就是首先…

STM32之八:IIC通信协议

目录 1. IIC协议简介 1.1 主从模式 1.2 2根通信线 2. IIC协议时序 2.1 起始条件和终止条件 2.2 发送一个字节 2.3 接收一个字节 2.4 应答信号 1. IIC协议简介 IIC协议是一个半双工、同步、一主多从、多主多从的串行通用数据总线。该通信模式需要2根线:SCL、…

ubuntu22.04安装SecureCRT8.7.3,完成顺利使用

材料准备 scrt-sfx安装包 , securecrt_linux_crack.pl 补丁脚本,和两个依赖库 其中securecrt_linux_crack.pl是找的专门适合 8.7.3版本的,网上很多版本的crack.pl只能打补丁以前的老版本。 而更老版本的SecureCRT对ubuntu22支持更不好&#…

【低照度图像增强系列(8)】URetinex-Net算法详解与代码实现(2022|CVPR)

前言 ☀️ 在低照度场景下进行目标检测任务,常存在图像RGB特征信息少、提取特征困难、目标识别和定位精度低等问题,给检测带来一定的难度。 🌻使用图像增强模块对原始图像进行画质提升,恢复各类图像信息,再使用目标检…

hmallox勒索病毒科普:了解其威胁与防御策略

hmallox勒索病毒科普:了解其威胁与防御策略 一、引言 在数字化时代,网络安全威胁日益严峻,勒索病毒作为其中的一类恶意软件,给个人和企业带来了巨大损失。hmallox勒索病毒作为Mallox勒索软件家族的新变种,以其高度的…

求职学习笔记day1

自己一直算是一个内耗拖延的人,内耗着考了研,内耗着拖着不找工作,一直拖到了毕业。研究生没考上,工作没有,也羡慕着别人成功的生活,最后毕业的也不太开心。 一、最近总结 游戏 高考结束以来和大学期间作息…

数据结构之初始二叉树(2)

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:数据结构(Java版) 二叉树的前置知识(概念、性质、、遍历) 通过上篇文章的学习,我们…

TCP/IP中的复用、分解和封装

TCP/IP(传输控制协议/互联网协议)模型中,复用(Multiplexing)、分解(Demultiplexing)和封装(Encapsulation)是关键概念,它们帮助管理和传输数据在网络上的有效…

【Linux】centos7安装PHP7.4报错:libzip版本过低

问题描述 configure: error: Package requirements (libzip > 0.11 libzip ! 1.3.1 libzip ! 1.7.0) were not met: checking for libzip > 0.11 libzip ! 1.3.1 libzip ! 1.7.0... no configure: error: Package requirements (libzip > 0.11 libzip ! 1.3.1 libzi…

Java中线程启动:start()与run()方法的区别

Java中线程启动:start()与run()方法的区别 1. start()方法2. run()方法3、总结4、示例对比 💖The Begin💖点点关注,收藏不迷路💖 线程是并发执行的基本单位,而…

中科亿海微亮相慕尼黑上海电子展

7月8-10日,备受瞩目的全球电子行业盛会“慕尼黑上海电子展”以空前规模启幕,汇聚了超过1600家参展企业,涵盖了从终端产品制造商到元器件供应商、组装/系统供应商、EMS、ODM/OEM、材料供应商及生产设备供应商的完整产业链。中科亿海微电子科技…

《昇思25天学习打卡营第22天|基于MindSpore的GPT2文本摘要》

#学习打卡第22天# 1. 数据集 1.1 数据下载 使用nlpcc2017摘要数据,内容为新闻正文及其摘要,总计50000个样本。 from mindnlp.utils import http_get from mindspore.dataset import TextFileDataset# download dataset url https://download.mindspor…

活用 localStorage

我维护的这款工具 https://editor.yunwow.cn/ 已经帮我写了 7 篇文章了, 用起来很顺手,因此我打算再给它升级下让它更方便,我决定要给它加个本地缓存功能。我给它提的要求是: 1. 至少能缓存 5 篇文章 2. 能有选择的加载模板 3…

MySQL-对数据库和表的DDL命令

文章目录 一、什么是DDL操作二、数据库编码集和数据库校验集三、使用步骤对数据库的增删查改1.创建数据库2.进入数据库3.显示数据库4.修改数据库mysqldump 5.删除数据库 对表的增删查改1.添加/创建表2.插入表内容3.查看表查看所有表查看表结构查看表内容 4.修改表修改表的名字修…

融云:换头像=换人设?社交应用中隐秘而重要的「用户信息管理」

当代年轻人失眠三大原因,最近新上的《喜人奇妙夜》帮你找到了—— 基金绿了、吵架输了、前任头像换了。 当你半夜翻看前任的社交账号,一场盛大的失眠就开始了,就算古希腊掌柜睡眠的神躺你旁边也不好使。即便 Ta 没有更新内容,昵…

Redis 中String类型操作命令(命令演示,时间复杂度,返回值,注意事项)

String 类型 文章目录 String 类型set 命令get 命令mset 命令mget 命令get 和 mget 的区别incr 命令incrby 命令decr 命令decrby 命令incrbyfloat 命令append 命令getrange 命令setrange 命令 字符串类型是 Redis 中最基础的数据类型,在讲解命令之前,我们…

Linux的load(负载)

负载(load)是Linux机器的一个重要指标,直观了反应了机器当前的状态。 在Linux系统中,系统负载是对当前CPU工作量的度量,被定义为特定时间间隔内运行队列中的平均线程数。 Linux的负载高,主要是由于CPU使用、内存使用、10消…

新款S32K3 MCU可解决汽车软件开发的成本和复杂性问题(器件编号包含S32K322E、S32K322N、S32K328)

全新的S32K3系列专门用于车身电子系统、电池管理和新兴的域控制器,利用涵盖网络安全、功能安全和底层驱动程序的增强型封装持续简化软件开发。 相关产品:S32K328NHT1VPCSR S32K328GHT1MPCSR S32K322NHT0VPASR S32K322EHT0VPBSR S32K322NHT0VPBSR S32K32…

Doris数据库---建表、调整表结构操作

一、简介 本文章主讲创建 Doris 自维护的表的语法,以下为本人最近为数据中台接入doris所踩的坑及其解决方案,欢迎点评。 二、doris建表语法: 官网建表语法网址链接:CREATE-TABLE - Apache Doris 官网建表语法如图所示&#xf…