vlambda博客
学习文章列表

R语言绘图 | 使用pheatmap快速绘制热图

热图是我们展示数据时常用的图形,今天小编教大家使用"pheatmap快速绘制热图

首先,我们需要准备输入文件。 比如,我想绘制热图来比较30个基因在6个组织里的表达情况。

如图所示,第一列为基因名,第一行为不同组织的名称,整理好后保存为制表符分隔的txt格式,准备好输入文件后我们就可以开始绘制热图啦。
## 安装R包install.packages("pheatmap")## 加载R包library("pheatmap")## 输入文件exp <- read.table("input.txt",sep="\t",header=T,row.names = 1)## 绘制热图pheatmap(exp,cellwidth=20, cellheight=10,cluster_cols=T,cluster_rows=T)
exp 输入的表达量。
cellwidth 热图每格的宽度。
cellheight 热图每格的高度。
cluster_cols 对列进行聚类。
cluster_rows 对行进行聚类。
执行完代码后,热图就绘制好啦!

R语言绘图 | 使用pheatmap快速绘制热图

由于我们不同基因的表达量数值差异太大,所以导致我们色阶的区分度特别小,这时我们可以通过对表达量取对数来解决这个问题。
## 对表达量取对数绘制热图pheatmap(log((exp+1),2),cellwidth=20, cellheight=10,cluster_cols=F,cluster_rows=T)

R语言绘图 | 使用pheatmap快速绘制热图

这时我们可以看到,热图中基因的表达量有了明显区分,这30个基因在E和F组织中基本不表达。
如果我们想给热图换个配色,可以用以下代码:
## 更换热图颜色pheatmap(log((exp+1),2),cellwidth=20, cellheight=10,cluster_cols=F,cluster_rows=T,color=colorRampPalette(c("navy","white","red"))(10))

colorRampPalette后输入要更改的颜色, (10) 代表将色阶分为10个梯度。
pheatmap 还有许多其他功能,具体使用方法大家可以参考:

https://www.jianshu.com/p/1c55ea64ff3f


参考资料:

https://cran.r-project.org/web/packages/pheatmap/pheatmap.pdf


R语言绘图更多教程: