查看原文
其他

热图绘制2.0

Biomamba Biomamba 生信基地 2023-06-15
上一篇推送给了大家三行命令画热图,但对于没有R语言基础的同学来说可能仍无法绘制出令自己满意的热图,因此本文主要对热图绘制进行进一步的解析,补充一些命令与参数。
想要绘制热图,第一步便是准备好自己的数据,对于R语言来说,原始数据的结构十分重要。一般来说,绘制热图的数据结构如下图所示,推荐将excel转存为csv格式(案例数据点这里链接:https://pan.baidu.com/s/1Dw1RHYkBdJTRhd3UaWWIUQ
提取码:z2d4
网盘手机App)。

一、heatmap
准备好数据我们可以用heatmap先画一个demo:
m <- read.csv("路径/文件名",header = T,row.name = 1)   读取数据class(m)                                              检查数据类型x <- as.matrix(m)                                     将数据转化为矩阵heatmap(x)                                            绘图
以上便可以完成基础的绘图,绘制结果如下:

显然,这个图不够美观,也不够直观,若还希望对热图进行其他方面的修改,可进行如下操作
heatmap(t(x)) 转换热图的横纵坐标heatmap(x,col=c("green","red"))               修改热图的颜色colorRampPalette(c("red","black","green"))(nrow(x)) 设置渐变色yanse <- colorRampPalette(c("red","black","green"))(nrow(x)) 赋值heatmap(x,col=yanse+ )                                           利用刚才赋值的渐变色绘图 heatmap(x,col=yanse,Rowv = NA)               取消行间聚类 heatmap(x,col=yanse,Colv = NA)               取消列间聚类 heatmap(state.x77,scale = "col") 标准化

 修改后的图如下所示(emm,虽然颜色变得更丑了,但是我的意思其实就是颜色可以DIY)

二、heatmap.2

相当于hetmap的升级版了,可以做更多个性化的设置,下面给出几条命令。
heatmap.2(x,key = F) 设置图例heatmap.2(x,symkey = T) 图例是否对称heatmap.2(x,symkey = T,density.trace = "none") 设置竖线heatmap.2(x,symkey = T,density.tracecol = "blue") 设置颜色heatmap.2(x,dendrogram = "none")取消聚类
三、pheatmap

相较于前面两个包来说,pheatmap可以自定义的选项更多,画风也是我最喜欢的。命令如下:

pheatmap(x,display_numbers = T) 显示数字pheatmap(x,display_numbers = T,number_format = "0.2f") 显示保留位数pheatmap(test, cluster_row = FALSE,cluster_col = TRUE) 是否聚类pheatmap(x,colorRampPalette(c("navy", "white", "firebrick3"))(50)) 渐变色pheatmap(x,cellwidth = 15, cellheight = 12, fontsize = 10) 设置单元格大小

以上就是本次的分享,感兴趣的同学可以自己Run一下试试。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存