r数据可视化5:热图heatmap

author author     2023-04-26     434

关键词:

参考技术A

热图是一个以颜色变化来显示数据的矩阵。Toussaint Loua在1873年就曾使用过热图来绘制对巴黎各区的社会学统计。

生物学中热图经常用于展示多个基因在不同样本中的表达水平。 然后可以通过聚类等方式查看不同组(如疾病组和对照组)特有的pattern。

热图还可以用于 展示其他物质的丰度比如微生物的相对丰度、代谢组不同物质的含量等等。当然,另一个热图的重要用处就是展现不同指标、不同样本等之间的相关性

1)需要什么格式的数据
有很多的软件都可以做heatmap。我们要介绍的当然是R,R默认中提供了heatmap函数。当然,R中也有很多具有heatmap功能的包,比如ggplot2,gplots。
今天我们介绍含有heatmap.2功能的gplots包。
heatmap.2函数和我们之前要求的数据类型不太一样,这个函数输入数据要求是个矩阵(matrix)。

在R Studio中我们可以清楚的看到x和y的区别(虽然如果点开你也许会觉得x与y难道不是一模一样吗),x的type是dataframe的格式,而y是matrix也就是矩阵格式。这两种数据类型有什么差别呢?matrix中的值只能是一个格式,比如都是字符型。而dataframe可以同时支持不同的类型比如数值型和字符型。

2)如何做图
本节用一个不是那么生物的数据集来展示一下如何做热图。

如果直接使用默认的heatmap.2功能我们可以看到:

和平时看到的heatmap有些不一样,中间的这些蓝色的线我们称作“trace”:虚线表示这一列平均值,实线表示与平均值的偏离程度。默认是按照列计算平均等,也可以改为行。
但是我们这里的数据是做相关性,所以这些线的意义就不是那么大。
图例中也类似,展示了不同颜色对应的值大小,而蓝色的实线是根据数据分布做的密度曲线,虚线是平均值。
黑色的线之前我们已经提到过是对数据进行了聚类。

然后我们对图进行一些修改,红色太扎眼换个颜色,把一些不需要的功能去掉。比如聚类比如这些蓝色的线。

当然也可以按照相同顺序把相关性系数换成pvalue。颜色也可以根据情况进行修改。其他的也可以进一步调整。
总之,要记住不论做什么图最最重要的是如何通过这张图说明突出你想要传达的内容,你想要告诉读者什么结论,那么就是你这张图所需要展示的, 千万不要一味追求图形的好看或者复杂而忘记了你做图的目的,不论任何形式的图都只是数据的可视化,而可视化是为了增强数据的可读性。
借用老板常说的一句话,做生信的,要玩方法不要被方法玩。

另外,最近发现一篇基于pheatmap的热图文章,写的很详尽,推荐给大家:
使用pheatmap包绘制热图

r语言可视化分别使用lattice包和ggplot2包可视化热图(heatmap)并绘制热力图对应的系统树图(dendrogram)实战

R语言可视化分别使用lattice包和ggplot2包可视化热图(heatmap)并绘制热力图对应的系统树图(dendrogram)实战 目录 查看详情

heatmap.jsv2.0–最强大的web动态热图

...ipt 库可以实现各种动态热力图的网页,帮助您研究和可视化用户的行为。  Heatmap.jsV2.0是目前网络上最先进的热图可视化库。新的2.0版本Heatmap.js更快,拥有更强的渲染模块,使用更 查看详情

r数据可视化——聚类热图pheatmap

参考技术A在前面的章节中,我们介绍了如何使用ggplot2绘制热图ggplot2绘制热图的方式很多,如geom_raster、geom_tile等但通常仅仅绘制热图是不够的,还需要对数据进行聚类,即绘制聚类热图。例如,最常用的就是将差异基因的表达... 查看详情

r使用热力图(heatmap)可视化数据集(代码片段)

R使用热力图(heatmap)可视化数据集R使用热力图(heatmap)可视化数据集#安装、加载包install.packages(\'RNHANES\')library(RNHANES)library(tidyverse)******************************************************************************Warningmes 查看详情

使用传单函数 add_heatmap() 或 addHeatmap() 在 R 上创建热图

】使用传单函数add_heatmap()或addHeatmap()在R上创建热图【英文标题】:CreatingaheatmaponRusingleafletfunctionadd_heatmap()oraddHeatmap()【发布时间】:2021-08-0419:30:44【问题描述】:我正在尝试使用plotlyadd_heatmap()函数创建带有热图的绘图,但它会... 查看详情

珍藏史上最全热图绘制工具及操作流程(一)

...值的大小以定义的颜色深浅表示出来。热图使复杂的数据可视化和一目了然。通常根据需要将数据进行物种或样品间丰度相似性聚类,将聚类后数据表示在热图上,可将高丰度和低丰度的物种分块聚集,通过颜色梯度及相似程度... 查看详情

r可视化使用ggplot2创建样本数据热力图(heatmap)

R可视化使用ggplot2创建样本数据热力图(heatmap)目录R可视化使用ggplot2创建样本数据热力图(heatmap)数据加载及变形 查看详情

使用来自 Geoserver 的 WMS 层的热图/数据可视化

】使用来自Geoserver的WMS层的热图/数据可视化【英文标题】:Heatmap/DatavisualizationusingWMSlayerfromGeoserver【发布时间】:2011-12-1511:37:58【问题描述】:我想找到一些可用于从Geoserver创建热图WMS图层的东西。我发现AcidMaps(http://acidmaps.org/... 查看详情

heatmap——热图那些事

...e\',\'A\',\'B\',\'C\'))margins调整画布边距;margins=c(5,5),main=\'Heatmap\'增加标题。注脚:第一个参数是需要用pheatmap画图的数据colo 查看详情

【r画图】环形热图

参考技术A热图(heatmap)在生信领域基本就是常规操作,基本技能,入门操作。能画热图的工具也有很多,我自己常用的R包是pheatmap。最近经常看见环状的热图,所以就搜了一下资料学习一下,测试一下。环状热图我也经常会在... 查看详情

如何缩放热图的单元格高度和宽度?(代码片段)

...。当我在R中应用热图函数时,结果是二次热图。我希望Heatmap与我的输入矩阵(平方单元格)具有相同的比例。heatmap(as.matrix(Data),scale=“none”,col=my_palette,breaks=col_breaks,main=“发射比热图”,Rowv=NA,Colv=NA)我可以用mtcar... 查看详情

r语言绘图——层次聚类图及树状图添加sidebar(代码片段)

聚类分析作图往往包含热图(heatmap)和树状图(dendrogram)。热图用来展示每个样本点数值大小和聚集模式。树状图用来表示样本之间以及变量之间的距离远近(或者相似性大小)。R官网目前提供了至少45个可以绘制热图的包(pac... 查看详情

r语言与医学统计图形-17ggplot2几何对象之热图(代码片段)

ggplot2绘图系统——heatmap、geom_rect这里不介绍更常见的pheatmap包。1.heatmap函数基础包。data=as.matrix(mtcars)#接受矩阵heatmap(data)heatmap(data,scale='column')heatmap(data,scale='column',col=terrain.colors(256),Colv=NA,Rowv=NA)2.geom_tileggplot2中,热... 查看详情

用r中pheatmap画heatmap

...基因的rawdata💥💥💥然后打开RStudiolibrary出pheatmap如果没有安装的话需要先安装一下pheatmap我觉得这个很有用,毕竟不能让别人歪着脑袋看x轴对吧 查看详情

R 中热图/聚类默认值的差异(热图与热图.2)?

...认值的差异(热图与热图.2)?【英文标题】:differencesinheatmap/clusteringdefaultsinR(heatplotversusheatmap.2)?【发布时间】:2013-07-2906:57:11【问题描述】:我正在比较两种在R中使用树状图创建热图的方法,一种是使用made4的heatplot,另一种... 查看详情

如何更改 R 中的 heatmap.2 颜色范围?

】如何更改R中的heatmap.2颜色范围?【英文标题】:Howtochangeheatmap.2colorrangeinR?【发布时间】:2013-07-2302:38:57【问题描述】:我正在使用gplot生成一个热图,显示治疗组与配对对照组的log2倍变化。使用以下代码:heatmap.2(as.matrix(SeqCo... 查看详情

利用matlab绘制矩阵色块图和热图

MATLAB自带热图命令:h=heatmap(XVarNames,XVarNames,R_t)https://ww2.mathworks.cn/help/matlab/ref/heatmap.html热图属性控制:https://ww2.mathworks.cn/help/matlab/ref/matlab.graphics.chart.heatmapchart-properties.html&n 查看详情

巧用热图展示基因分布的总体趋势

热图是最常见的基因表达量数据的可视化方式,将每个单元格的表达量按照数值高低映射为不同的颜色,可以直观展示表达量在不同样本间的分布,再综合聚类的结果和基因/样本的注释信息,进一步丰富了展示的信息,一个经... 查看详情