用Python绘制Heatmap

article/2025/10/30 20:36:04

本文内容为基于python的heatmap的绘制与渲染

文章目录

  • 前言
  • 一、Heatmap是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.代码
  • 总结


前言

在写论文时,看到大佬们的文章中精美的图表。却不知道如何进行绘制,本文提供了一种heatmap的绘制方式。


一、Heatmap是什么?

Heatmap中文称为热点图,热点图是通过使用不同的标志将图或页面上的区域按照受关注程度的不同加以标注并呈现的一种分析手段,标注的手段一般采用颜色的深浅、点的疏密以及呈现比重的形式,因此使用热点图,你可以把感兴趣区域更直观的表现出来。如下图,就是漂亮的热点图。
在这里插入图片描述
其中深色区域就是区别于浅色区域的信息,通过热点图,可以更加直观的展现感兴趣的区域。那么这样的热点图是怎么绘制的呢?下文将进行详细的介绍。

二、使用步骤

1.引入库

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from numpy import random

2.代码

代码如下(示例):

for i in range(0,200):              #生成200幅图的热度图test = np.load(f'C:/Users/XXX/Desktop/Siamese-pytorch-master/{i}.npy',allow_pickle=True) #加载npy文件,一种可存储tensor信息的文件test_list=test.tolist()#读取npy文件信息list = []for j in range(0,462):love=test_list[j]loves=love[0]  #读取list的索引为0的内容,数据类型为tensorfloat_similarity=loves.tolist()list.append(float_similarity)print(love)pp=np.array(list).reshape((21,22))#把1*462矩阵转换为21*22大小的矩阵print(pp)sns_plot = sns.heatmap(pp,xticklabels=False,yticklabels=False,annot=True)#xticklabels 是否显示横坐标;annot 是否在块上显示数值plt.pyplot.show()#显示热度图

总结

下面是Cmap的一些风格

- Accent, Accent_r, 
- Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, 
- CMRmap, CMRmap_r, 
- Dark2, Dark2_r, 
- GnBu, GnBu_r, Greens, Greens_r, Greys, Greys_r, 
- OrRd, OrRd_r, Oranges, Oranges_r, 
- PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r, Pastel2, Pastel2_r, PiYG, PiYG_r, PuBu, PuBuGn, PuBuGn_r, PuBu_r,   PuOr, PuOr_r, PuRd, PuRd_r, Purples, Purples_r, 
- RdBu, RdBu_r, RdGy, RdGy_r, RdPu, RdPu_r, RdYlBu, RdYlBu_r, RdYlGn, RdYlGn_r, Reds, Reds_r, 
- Set1, Set1_r, Set2, Set2_r, Set3, Set3_r, Spectral, Spectral_r, 
- Wistia, Wistia_r, 
- YlGn, YlGnBu, YlGnBu_r, YlGn_r, YlOrBr, YlOrBr_r, YlOrRd, YlOrRd_r, 
- afmhot, afmhot_r, autumn, autumn_r, 
- binary, binary_r, bone, bone_r, brg, brg_r, bwr, bwr_r, 
- cividis, cividis_r, cool, cool_r, coolwarm, coolwarm_r, copper, copper_r, cubehelix, cubehelix_r, 
- flag, flag_r, 
- gist_earth, gist_earth_r, gist_gray, gist_gray_r, gist_heat, gist_heat_r, gist_ncar, gist_ncar_r, gist_rainbow, gist_rainbow_r, gist_stern, gist_stern_r, gist_yarg, gist_yarg_r, gnuplot, gnuplot2, gnuplot2_r, gnuplot_r, gray, gray_r, 
- hot, hot_r, hsv, hsv_r, 
- icefire, icefire_r, inferno, inferno_r, 
- jet, jet_r, 
- magma, magma_r, mako, mako_r, 
- nipy_spectral, nipy_spectral_r, 
- ocean, ocean_r, 
- pink, pink_r, plasma, plasma_r, prism, prism_r, 
- rainbow, rainbow_r, rocket, rocket_r, 
- seismic, seismic_r, spring, spring_r, summer, summer_r, 
- tab10, tab10_r, tab20, tab20_r, tab20b, tab20b_r, tab20c, tab20c_r, terrain, terrain_r, twilight, twilight_r, twilight_shifted, twilight_shifted_r, 
- viridis, viridis_r, vlag, vlag_r, 
- winter, winter_r

下面是我平时比较常用的风格,这种风格有渐变,所以显示出来的heatmap颜色过渡性比较好,这样子做出来的图就不会显得特别突兀。
在这里插入图片描述


http://chatgpt.dhexx.cn/article/aMNU6BLy.shtml

相关文章

HeatMap(热图)的原理和实现

HeatMap(热图)的原理和实现 先来看两张图: (1)10年世界杯决赛,冠军西班牙队中门将、后卫、中场及前锋的跑位热图 通过热图,我们可以很清楚的看出四个球员在比赛中跑动位置的差异。 &#xff…

人体姿态估计-生成heatmap的方法

人体姿态估计-生成heatmap的方法 参考Simple BaseLine生成HeatMap的方法,这里整理进行显示,方便可视化: Simple BaseLine生成HeatMap的方法:human-pose-estimation.pytorch/JointsDataset.py at master microsoft/human-pose-es…

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

文章目录 datacmaplinewidths、linecolorsquareaxannot指定为True指定为同形状数组 vmax、vminannot_kwsmaskxticklabels、yticklabels设置为auto指定整数指定为True centerrobustfmtcbar 数据使用的是seborn内置数据 官网链接:https://seaborn.pydata.org/generate…

BagNet特征heatmap可视化

BagNet地址:https://github.com/wielandbrendel/bag-of-local-features-models BagNet是ResNet的变体,显著的区别是将3x3卷积变为1x1卷积来达到构造整体网络具有某个最终的感受野(receptive field)目的。在这里主要讲解对于一张来源于ImageNet的尺寸为22…

关键点检测——heatmap热力图法

一、数据集格式 二、解析xml文件,生成data_center.txt from PIL import Image import math,os from xml.etree import ElementTree as ETdef keep_image_size_open(path, size(256, 256)):img Image.open(path)temp max(img.size)mask Image.new(RGB, (temp, te…

Learn OpenCV之Heatmap

本文是利用热图(Heatmap)分析视频序列的标定。 注意,这里目的不是标定而是分析标定好的数据,或者也可以是检测的结果数据 文章结构是这样的,先详细的解释一下热图分析有什么用,根据一些具体的应用实例给出…

python heatmap画法

任务描述 将一个归一化的分数以热图的形式显示出来,分数高的地方颜色深,分数小的地方颜色浅 注意:使用单一颜色无法实现这种渐变过程 原理 将单通道的0-1之间的score值映射到三通道的颜色空间 原料 一个单通道的score矩阵颜色空间列表&a…

python heatmap总结

基础使用 import seaborn as sns; sns.set_theme(color_codesTrue) iris sns.load_dataset("iris") species iris.pop("species") g sns.clustermap(iris)取消行列分类树 import seaborn as sns; sns.set_theme(color_codesTrue) import matplotlib.p…

seaborn绘制heatmap

【seaborn.heatmap整理】 用处:将数据绘制为颜色方格(编码矩阵)。 引用形式: seaborn.heatmap(data, vminNone, vmaxNone, cmapNone, centerNone, robustFalse, annotNone, fmt’.2g’, annot_kwsNone, linewidths0, linecolor‘…

Heatmap

前言 目前所说的模型可视化或者模型可解释说到是对某一类别具有可解释性,直接画出来特征图并不能说明模型学到了某种特征,对一个深层的卷积神经网络而言,通过多次卷积和池化以后,它的最后一层卷积层包含了最丰富的空间和语义信息…

R | 可视化 | 热图(Heatmap)

1 基础绘制 R绘制热图时&#xff0c;数据需要输入一个矩阵&#xff0c;可以用as.matrix()把它转换成矩阵。这里利用R自带的数据集绘制热图。 > # 数据 > data <- as.matrix(mtcars) > > # 绘制热图 > heatmap(data) OUTPUT: 热图的每一列是一个变量&…

科研作图-heatmap(一)

1.简介 在科研中有很多地方为了可解释给审稿人提供了热图,便于知道深度学习中到底是哪部分在起作用,或者是在机器学习中分析不同的特征之间是否存在相关性?存在多大的相关性;或者是直观的展示场景热力图…总之,用处很多,我正好现在也需要用,就先总结下:绘制HeatMap的库有很多,…

「C#」生成HeatMap(热度图)的实现

1、什么是Heatmap 其实不用多言&#xff0c;需要这个的人自然知道这是什么。基于一系列点生成的热度图&#xff0c;放张图感受一下&#xff1a; ma...大概就是这种样子。 2、生成&#xff08;计算&#xff09;原理 实现方式实际上是在每个点上叠加高斯矩阵。高斯矩阵就是在二…

关键点检测的heatmap介绍

开始学关键点检测的时候&#xff0c;到处找找不到heatmap的解释。现在大概有些懂了&#xff0c;干脆自己写一个。部分转载。 关键点定位任务两种做法&#xff1a;heatmap和fully connected回归&#xff08;Heapmap-based和Regression-Based&#xff09; heatmap得到一张类似热…

python绘制热度图(heatmap)

1、简单的代码 from matplotlib import pyplot as plt import seaborn as sns import numpy as np import pandas as pd#练习的数据&#xff1a; datanp.arange(25).reshape(5,5) datapd.DataFrame(data)#绘制热度图&#xff1a; plotsns.heatmap(data)plt.show() 查看效果&a…

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

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

‘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销售 整合您的服务 项目工时表帮助…