python绘制热度图(heatmap)

article/2025/10/30 23:34:55

1、简单的代码

from matplotlib import pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd#练习的数据:
data=np.arange(25).reshape(5,5)
data=pd.DataFrame(data)#绘制热度图:
plot=sns.heatmap(data)plt.show()

查看效果:

2、添加X轴和Y轴标签和标题:

plt.xlabel("X",size=20)
plt.ylabel("Y",size=20,rotation=0)
plt.title("heatmap",size=20)

查看效果:

3、对右侧的色条(colorbar)进行调整:

在heatmap里添加关键字参数cbar_kws,这个参数对应是一个字典,字典的内容传递给类Colorbar。这个类就是被调用来绘制色条的。

from matplotlib import pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd#练习的数据:
data=np.arange(-18,18).reshape(6,6)
data=pd.DataFrame(data)#设置色条的刻度:
tick_=np.arange(-20,20,5).astype(float)#编辑做为参数的字典:
dict_={'orientation':'vertical',"label":"color  \
scale","drawedges":True,"ticklocation":"top","extend":"min", \
"filled":True,"alpha":0.8,"cmap":"cmap","ticks":tick_}#将字典传入给参数cbar_kws:
cmap=sns.heatmap(data,cbar_kws=dict_,center=0)#添加标题和标签:
plt.xlabel("X",size=20)
plt.ylabel("Y",size=20,rotation=0)
plt.title("heatmap",size=20)plt.show()

查看效果:

这里的orientation(定位)参数对应的参数值有vertical(垂直)和 horizontal(水平),可以调整色条的放置状态,ticks参数传递色条的刻度值。

4、修改色条的刻度值和标签的字体大小、颜色:

在Colorbar类里,没有直接的参数可以调整刻度字体的大小,所以无法通过关键字参数cbar_kws进行调整刻度字体大小。

但是可以调用Colorbar的ax类进行调整:

#调用Colorbar类:
cbar = cmap.collections[0].colorbar#利用Colorbar类的axis类的方法,修改刻度大小和设置刻度颜色
cbar.ax.tick_params(labelsize=20,labelcolor="blue")

这里的cmap是用sns.heatmap()函数绘制热度图时赋予的对象

这里的关键步骤是cbar = cmap.collections[0].colorbar

得到的cbar.ax变量是matplotlib.axes._subplots.AxesSubplot类,和cmap变量一致

这里的cbar.ax连接到matplotlib.axis类,可以使用后者的方法

#修改色条标签的字体大小:
cbar.ax.ylabel(ylabe="color scale",size=20,color="red",loc="center")plt.show()

查看效果:

实际上,这副热度图可以看做是两张图,左侧的热度图和右侧的色条。

5、对热度图显示数值和添加网格线:

from matplotlib import pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
from matplotlib import colorbar#练习的数据:
data=np.arange(-18,18).reshape(6,6)
data=pd.DataFrame(data)#绘制热度图:
tick_=np.arange(-20,20,5).astype(float)
dict_={'orientation':'vertical',"label":"color  \
scale","drawedges":True,"ticklocation":"right","extend":"min", \
"filled":True,"alpha":0.8,"cmap":"cmap","ticks":tick_,"spaci,linewidths=0.5ng":'proportional'}
#绘制添加数值和线条的热度图:
cmap = sns.heatmap(data,linewidths=0.8,annot=True,fmt="d")
plt.xlabel("X",size=20)
plt.ylabel("Y",size=20,rotation=0)
plt.title("heatmap",size=20)#调整色带的标签:
cbar = cmap.collections[0].colorbar
cbar.ax.tick_params(labelsize=20,labelcolor="blue")
cbar.ax.set_ylabel(ylabel="color scale",size=20,color="red",loc="center")plt.show()

查看效果:

6、 定义热度图的配色板

利用heatmapL里的参数cmap,较好看的参数有“YlGnBu”和“BuPu_r”:

要知道cmap有哪些参数,报一次错就可以了。

#练习的数据:
data=np.arange(-18,18).reshape(6,6)
flights=pd.DataFrame(data)#设置一个1行2列的画图:
fig,ax=plt.subplots(1,2)sns.heatmap(flights, cmap="YlGnBu",ax=ax[0])
sns.heatmap(flights, cmap="BuPu_r",ax=ax[1])plt.show()

查看效果:


http://chatgpt.dhexx.cn/article/1IasYCUJ.shtml

相关文章

热图(Heatmap)绘制(matplotlib与seaborn)

热图是数据统计中经常使用的一种数据表示方法,它能够直观地反映数据特征,查看数据总体情况,在诸多领域具有广泛应用。 一:matplotlib绘制方法 1.基础绘制 热图用以表示的是矩阵数据,例如相关阵、协差阵等方阵&#…

‘0’ 和 '\0'

48是0对应的ascii值。

KEIL/MDK编译优化optimization选项注意事项

KEIL编译器C语言编译选项优化等级说明 -Onum Specifies the level of optimization to be used when compiling source files. Syntax -Onum Where num is one of the following: 0 Minimum optimization. Turns off most optimizations. When debugging is enabled, this opt…

0,'\0','0'

#include <iostream> using namespace std; int main(void) { cout<<__FILE__<<\t<<__LINE__<<endl;cout<<"内 容:\t"<<"0"<<\t<<"\\\0\"<<\t<<"\0\"<<…

Odoo

狭路相逢 勇者胜 Odoo 是用于经营公司的最好的管理软件。 数百万用户使用我们的集成应用可以更好地开展工作 现在开始。免费的。 重新定义可扩展性 一个需求&#xff0c;一个应用程式。整合从来没有那么顺畅 促进销售量 客户关系管理POS销售 整合您的服务 项目工时表帮助…

0 、 '0' 、 0 、 ’\0’ 区别

转载自&#xff1a;https://blog.csdn.net/qnavy123/article/details/93901631 ① ‘0’ 代表 字符0 &#xff0c;对应ASCII码值为 0x30 (也就是十进制 48) ② ‘\0’ 代表 空字符(转义字符)【输出为空】 &#xff0c;对应ASCII码值为 0x00(也就是十进制 0)&#xff0c; …

Linux的内核编译用O0是编译不过的

最近在ATF的升级过程中遇到了一个编译问题&#xff0c;最后是通过编译优化解决的&#xff0c;然后一百度这个优化全是在Linux中的。于是就借着Linux编译优化来学学。 内容来自 宋宝华老师&#xff1a; 关于Linux编译优化几个必须掌握的姿势 1、编译选项和内核编译 首先我们都…

alert uuid does not exits. Dropping to a shell!

ALERT&#xff01;UUID does not exit. Dropping to a shell&#xff01; 服务器系统ubuntu16.04server&#xff0c;非自然断电后开机进入initramfs模式&#xff0c;服务器磁盘阵列是raid1和raid5。初步分析是硬盘坏道或掉盘&#xff0c;进入raid卡里看到硬盘一切正常&#xf…

跟着团子学SAP PS:如何查询PS模块中的user exits以及相关BAdIs SE80/SMOD/CNEX006/CNEX007/CNEX008

在PS很多标准字段或功能无法满足客户需求的时候往往需要通过SAP标准的user exits或者BAdI进行开发以满足业务需要&#xff0c;所以今天介绍下如何查询PS模块中的用户出口以及BAdIs&#xff1a; &#xff08;1&#xff09;查询PS模块中的user exits: 执行SE80&#xff0c;在菜…

EXT

ext的核心是store&#xff0c;存储数据用的。调试时可以先把store这块先屏蔽掉&#xff0c;先看页面的&#xff0c;页面出来了再调试store。这样会调试起来很快。 init: function () { var view this.getView(), // var store Global.getStore(app.store.L…

IDEA|class path resource XXX cannot be opened because it does not exits

IDEA|class path resource XXX cannot be opened because it does not exits 问题截图&#xff1a; 原因&#xff1a;没有设置好各个文件夹。我的理解是&#xff0c;当把文件夹设置好具体的功能才能被IDEA自动识别。 解决方法&#xff1a; 转发链接&#xff1a;https://bl…

User Exits和Customer Exits

一、Extension of SAP functionality SAP makes different possibilities available to extend SAP functionality in the R/3 without modifying the delivered R/3-Standard. Thus these extensions are further present also after a R/3-Release-Wechsel. User exit Fi…

sql查询中使用in和exits比较和区别

首先&#xff0c;查询中涉及到的两个表&#xff0c;一个user和一个order表&#xff0c;具体表的内容如下&#xff1a; user表&#xff1a; order表&#xff1a; in 确定给定的值是否与子查询或列表中的值相匹配。in在查询的时候&#xff0c;首先查询子查询的表&#xff0c;然后…

SQL语句中exits和in的区别

一 表展示 查询中涉及到的两个表&#xff0c;一个user和一个order表&#xff0c;具体表的内容如下&#xff1a; user表&#xff1a; order表&#xff1a; 二 in 演示 确定给定的值是否与子查询或列表中的值相匹配。in在查询的时候&#xff0c;首先查询子查询的表&#xff0c…

E. Exits in Excess

题意&#xff1a; 移除最多一半的边使得图没有环。 将所有边分成两部分&#xff0c; 第一部分为 u < v u < v u<v&#xff0c; 第二部分为 v > u v > u v>u&#xff0c; 将小的边集合删去即可。 AC代码&#xff1a; int n, m; vector<int> v1, v2…

20220621 Dual Quaternion

文章目录 对偶数一、对偶数是什么&#xff1f;二、对偶矢量三、对偶四元数 对偶数 一、对偶数是什么&#xff1f; https://zhuanlan.zhihu.com/p/358146509 对偶数是一种特殊的自洽的运算&#xff0c;类似于常用的复数基本单位 i i i &#xff08; i 2 − 1 i^2-1 i2−1&a…

Quaternion

01:欧拉角 1.欧拉角Vector3(x,y,z)代表的是旋转物体&#xff08;若是标准旋转那么是旋转坐标轴x,y,z&#xff0c;转换为旋转物体则旋转角度取反顺序不变&#xff09;&#xff0c;且是将物体从物体坐标系旋转到惯性坐标系&#xff08;世界坐标系中为了渲染&#xff09;&#x…

Quaternion.Euler调整记录

Quaternion.Euler调整 1.运行unity 调整摄像头视角&#xff0c;找到需要的位置&#xff0c;记录下 摄像头的位置和旋转角度。 2.调整空物体的位置 使之位置与需要的位置一致 3.调整Quaternion.Euler 使Quaternion.Euler与旋转数值一致。

Quaternion(四元数)和旋转以及Yaw, pitch, roll 的含义

原文&#xff1a; http://www.linuxgraphics.cn/graphics/opengl_quaternion.html Quaternion(四元数)和旋转 本文介绍了四元数以及如何在OpenGL中使用四元数表示旋转。 Quaternion 的定义 四元数一般定义如下&#xff1a; qwxiyjzk其中 w,x,y,z是实数。同时&#xff0c;有…

Unity3d开发之对Quaternion的使用

上周找到了新公司。这周二来上班。可怕的是我刚去的第二天下午四点领导通知我做一个VRdemo&#xff0c;要求第二天交。我勒个擦。我现在对设备还没熟悉呢。连sdk都没下载而且距离上一次开发vr是在快两年之前了。属实让我措手不及。没错&#xff0c;按剧本走&#xff0c;加班到凌…