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

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

安装方式

install.packages(pheatmap)

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

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

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

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

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

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

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

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

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

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

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

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

工具介绍

g:profiler一个好用的科研神器包

2019-11-15 22:41:12

工具介绍

利用chembiodraw制作结构图

2019-11-15 22:43:31

加入Q群
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索