前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【R语言】热图绘制-heatmap+RColorBrewer配色方案

【R语言】热图绘制-heatmap+RColorBrewer配色方案

作者头像
生信交流平台
发布2022-09-21 17:27:08
1.8K0
发布2022-09-21 17:27:08
举报

前面给大家介绍了如何使用R自带的heatmap函数+R自带的配色方案来绘制热图

【R语言】热图绘制-heatmap函数+默认配色方案

R语言中的颜色(一)-自带的调色板

也给大家介绍了如何使用R自带的heatmap函数+gplots的配色方案来绘制热图

R语言】热图绘制-heatmap+gplots配色方案

R语言中的颜色(二)-gplots包

也给大家介绍了如何使用R自带的heatmap函数+grDevice的配色方案来绘制热图

【R语言】热图绘制-heatmap+grDevice配色方案

R语言中的颜色(三)-grDevice包

今天我们接着来聊heatmap这个函数绘制热图,这次我们使用RColorBrewer这个R包里面的配色方案

R语言中的颜色(四)-RColorBrewer包

首先我们还是先读取需要的数据,这里用到的数据跟【R语言】热图绘制-heatmap函数用到的数据是一样的

代码语言:javascript
复制
#读取所有miRNA的表达矩阵
expr=read.table("miRNA_expr.txt",header=T,row.names=1,sep="\t")
#读取差异表达分析结果
#差异表达分析可以参考https://ke.qq.com/course/package/37513
deg=read.table("MIR_DEG_fc_2.5_pval_0.01.txt",header=T,row.names = 1,sep="\t")
#设置样本类型
type=factor(rep(c("CR","CC"),each=3))
#提取差异表达miRNA的名字
miRNA=rownames(deg)
#提取差异表达miRNA对应的表达矩阵
data=as.matrix(expr[miRNA,])

接下来我们使用RColorBrewer包里面的函数来生成配色方案

代码语言:javascript
复制
#如果没有安装RColorBrewer这个包,需要先去掉下一行中的#,再运行进行安装
#install.packages("RColorBrewer")

#加载RColorBrewer这个R包
library(RColorBrewer)

#展示PiYG配色方案中的11种颜色
display.brewer.pal(11,"PiYG")

接下来我们看看如何使用colorRampPalette函数生成渐变色

代码语言:javascript
复制
#生成三张图片,按三行一列排布
par(mfrow=c(3,1))
#PiYG中一共有11中颜色,画11根柱子来展示
barplot(1:11,col=brewer.pal(11, "PiYG"))
#通过colorRampPalette生成渐变色,PiYG中本身就有11中个颜色
#后面括号中的数字是要生成渐变色的个数,也为11,所以效果跟上图一样
barplot(1:11,col=colorRampPalette(brewer.pal(11, "PiYG"))(11))
#通过colorRampPalette生成25个渐变色
barplot(1:25,col=colorRampPalette(brewer.pal(11, "PiYG"))(25))

接下来我们用这25个渐变色来绘制热图

代码语言:javascript
复制
coul <- colorRampPalette(brewer.pal(11, "PiYG"))(25)
heatmap(data, 
        cexCol = 1,  #设置列标签字体大小
        scale="row",  #按行做归一化
        col = coul  #使用PiYG配色方案生成的25个渐变色
        )

我们还能用其他的配色方案试试

代码语言:javascript
复制
#展示OrRd配色方案中的9种颜色
display.brewer.pal(9,"OrRd")

接下来我们用OrRd配色方案生成的50个渐变色来绘制热图

代码语言:javascript
复制
coul <- colorRampPalette(brewer.pal(9, "OrRd"))(50)
heatmap(data, 
        cexCol = 1,  #设置列标签字体大小
        scale="row",  #按行做归一化
        col = coul #使用OrRd配色方案生成的50个渐变色
       )

其实RColorBrewer包里还有很多其他的配色方案,这里就不依依列举了,感兴趣的小伙伴可以翻看R语言中的颜色(四)-RColorBrewer包

本文中使用的表达矩阵来自GEO公共数据库

https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE82236

关于GEO数据库检索和差异表达分析可以参考

基于GEO公共数据库的数据挖掘

课程网址:

https://ke.qq.com/course/package/37513

参考资料:

【R语言】热图绘制-heatmap函数+默认配色方案

【R语言】热图绘制-heatmap+gplots配色方案

【R语言】热图绘制-heatmap+grDevice配色方案

R语言中的颜色(一)-自带的调色板

R语言中的颜色(二)-gplots包

R语言中的颜色(三)-grDevice包

R语言中的颜色(四)-RColorBrewer包

超详细的热图绘制教程(5000余字),真正的保姆级教程

R语言绘制基因表达热图(简易版)

一个R函数搞定风险评估散点图,热图

R绘制甲基化和表达谱联合分析热图

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

本文分享自 生信交流平台 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档