前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言绘图 | 使用pheatmap快速绘制热图

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

作者头像
生信小王子
发布2020-08-10 16:59:28
2.4K0
发布2020-08-10 16:59:28
举报
文章被收录于专栏:生信小王子生信小王子

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

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

如图所示,第一列为基因名,第一行为不同组织的名称,整理好后保存为制表符分隔的txt格式,准备好输入文件后我们就可以开始绘制热图啦。

代码语言:javascript
复制
## 安装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:对行进行聚类。

执行完代码后,热图就绘制好啦!

由于我们不同基因的表达量数值差异太大,所以导致我们色阶的区分度特别小,这时我们可以通过对表达量取对数来解决这个问题。

代码语言:javascript
复制
## 对表达量取对数绘制热图
pheatmap(log((exp+1),2),cellwidth=20, cellheight=10,cluster_cols=F,cluster_rows=T)

这时我们可以看到,热图中基因的表达量有了明显区分,这30个基因在E和F组织中基本不表达。

如果我们想给热图换个配色,可以用以下代码:

代码语言:javascript
复制
## 更换热图颜色
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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信小王子 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档