分类: 文献解读

pheatmap是R语言中一个使用非常广泛的用于绘制聚类热图的绘图包。使用这个绘图包可以帮助我们快速的生成包含聚类结果的热图。

pheatmap的安装非常简单,只需要在R软件中执行一行安装代码即可

install.packages('pheatmap')

安装完成后,我们来看如何使用pheatmap来绘制聚类热图

# 加载软件包 library('pheatmap') # 生成绘图用的数据 test = matrix(rnorm(200), 20, 10) test[1:10, seq(1, 10, 2)] = test[1:10, seq(1, 10, 2)] + 3 test[11:20, seq(2, 10, 2)] = test[11:20, seq(2, 10, 2)] + 2 test[15:20, seq(2, 10, 2)] = test[15:20, seq(2, 10, 2)] + 4 colnames(test) = paste("Test", 1:10, sep = "") rownames(test) = paste("Gene", 1:20, sep = "")

这段代码实际上是利用随机数生成了一个20 X 10的矩阵。

为了模拟不同样品和基因之间的差异,我们将第一行到第10行中奇数列的数值全部加3,将第11行到第20行的偶数列数值全部加2,将15行到20行的偶数列全部加4。最后将列名命名为Test1 ~ Test10,将行名命名为Gene1~Gene 20,最终生成的数据格式如下图

默认参数绘制图形只需要执行以下代码。

pheatmap(test)

生成的图片如下图:

当默认参数不能满足我们的需求时,我们可以根据自己的需要在此基础上修改这个图形。常见的一些参数设置如下:

pheatmap(test, scale = "row")

# scale = “row”的含义是绘图时按行进行均一化。进行均一化可以降低个别特殊样品与其它样品间的差异,这会使得其它样品间的差异在图形中更加显著。一般我们在基于表达量进行聚类分析时,均是常用的参数。绘图结果如下图所示:

如果需要对配色方案进行修改,可以修改color参数,

pheatmap(test, color = colorRampPalette(c("navy""white""firebrick3"))(50))

# colorRampPalette函数可以设置3种颜色(只能是3种),它可以根据给定的向量生成渐变色,这三个参数分别指定了最大值,中间值和最小值的颜色。绘图结果如下:

同时,通过设置cluster_col和cluster_row参数可以控制是否取消对行或列进行聚类分析,具体代码及结果如下:

pheatmap(test, cluster_col = FALSE)

show_rownames和show_colnames参数来控制是否显示行名和列名,如下:

pheatmap(test,show_rownames=F,show_colnames=F)

display_numbers 和number_color 参数可以控制是否在图中显示数字及设置数字的颜色。

pheatmap(test, display_numbers = TRUE,number_color = "blue")

cellwidth和cellheight两个参数可以控制每个单元的长度和宽度。参数main可以在图片中添加标题。

pheatmap(test, cellwidth = 15, cellheight = 12, main = "Example heatmap")

以上呢,就是在使用pheatmap绘制聚类热图时常用的一些参数。可以看到,使用pheatmap绘制聚类热图是非常简单快速的。通过组合不同的参数,我们可以控制最终生成的图片的样式与效果。更多的功能和参数可以通过执行pheatmap命令查看pheatmap自带的帮助文档来猎取!本期聚类热图的绘制我们就分享完啦,敬请关注其他图形绘制。

截止目前,百迈客成功举办了三场零基础R语言绘图培训班.而由于我们培训班主要是小班教学(20人左右),以及老师行程问题,还有部分老师未赶上前三期培训,因此,现特征集R语言培训班东北、福建、西安、甘肃、北京场意向学员。如果您想学编程,想自己可以随时绘制出编辑部要求的图片,欢迎点击下方按钮联系我们,我们会根据大家填写的意向情况,安排后期的生信培训班场次,说不定下一场就在你的城市哦。

百迈客云

关注我们,随时随地学习

推荐文章