1. sci666首页
  2. 实用技巧
  3. 工具介绍

利用pheatmap包画一张漂亮的热图

今天给大家介绍一款比较好用的画聚类图的R包–pheatmap,全称pretty heatmaps,漂亮的热图,所以取“漂亮的热图”这个标题不是小编膨胀了,人就叫这名儿。

安装方式

install.packages(pheatmap)

关于作图的数据,我们以小张聊科研数据挖掘课程最后的案例为例,本案例有三个GEO数据集,GSE19665, GSE33006, GSE41804。这三个数据集来自同一款芯片,适合放在一起整合处理。

我们取20个基因为例(基因多了堆叠在一起看不清),画热图需要得到20个基因的表达矩阵,如果是从差异基因里面找的,可以用match函数将差异基因匹配到总的矩阵上,得到这20个基因的表达矩阵,数据长这样

利用pheatmap包画一张漂亮的热图

这里截图不全,矩阵mat是一个20行基因,66列样本的表达矩阵,有了这个,我们就可以作图了,

library(pheatmap)  ###加载包pheatmap(mat)  ####简单的一行代码

总的来说,一行代码就可以作图了,

利用pheatmap包画一张漂亮的热图

pheatmap(mat, scale = "row")  ###scale参数对行进行归一化

利用pheatmap包画一张漂亮的热图

我们还可以调整颜色,用color函数自定义颜色,下面的colorRampPalette函数可以定义渐变颜色,比如定义从蓝到白再渐变到橙色,

pheatmap(mat, scale = "row", color = colorRampPalette(c("blue""white""orange"))(50))

利用pheatmap包画一张漂亮的热图

pheatmap比较好的一个功能是对行或者列进行分类很方便,以列为例,图中的66个样本来自3个数据集,并且分为癌症和对照组,这里有两个分类的因素,因此需要表型文件,对每个样本进行注释,说明它们的分类,如下图所示。

利用pheatmap包画一张漂亮的热图

然后用以下代码,这里的pheno就是我们的注释文件的名称,参数是annotation_col,意为对列注释(当然如果基因有分组,也可以对行进行注释)

pheatmap(mat, scale = "row", annotation_col = pheno, color = colorRampPalette(c("purple""white""orange"))(50))

利用pheatmap包画一张漂亮的热图

pheatmap里面还有很多参数,比如聚类图类里面每个格子可以加数字,设定格子的长和宽,改变注释信息的颜色,等等,可谓是绘制热图的有力武器。

来源: http://www.sci666.com.cn/19532.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

(857)626-2666

在线咨询:点击这里给我发消息

邮件:123456@whu.edu.cn

QR code