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

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

☞【R语言】热图绘制-heatmap函数

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

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

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

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

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

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

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

#读取所有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,])

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

这个R包提供两个颜色相关的函数

  • colorRamp()
  • colorRampPalrttr()

1. 利用colorRampPalette生成颜色函数b2p1,由绿色到红色的渐变

#利用colorRampPalette生成颜色函数b2p1,由绿色到红色的渐变
b2p1 <- colorRampPalette(c("green", "red"))
#生成25种颜色
heatmap(data, cexCol = 1,scale="row",col = b2p1(25))

2.利用colorRampPalette生成颜色函数b2p1,由绿色到黄色再到红色的渐变

#利用colorRampPalette生成颜色函数b2p1,由绿色到黄色再到红色的渐变
b2p1 <- colorRampPalette(c("green","yellow", "red"))
#生成25中颜色
heatmap(data, cexCol = 1,scale="row",col = b2p1(25))

3.利用colorRamp生成颜色函数b2p2,由绿色到红色的渐变

#利用colorRamp生成颜色函数b2p2,由绿色到红色的渐变
b2p2 <- colorRamp(c("green", "red"))

#利用rgb函数将RGB值转换成hex值,生成25种颜色
col=apply(b2p2(seq(0, 1, len = 25)),1,function(x){
  rgb(x[1],x[2],x[3],maxColorValue = 255)
})
heatmap(data, cexCol = 1,scale="row",col = col)

4.利用colorRamp生成颜色函数b2p2,由绿色到黄色再到红色的渐变

#利用colorRamp生成颜色函数b2p2,由绿色到黄色再到红色的渐变
b2p2 <- colorRamp(c("green","yellow", "red"))

#利用rgb函数将RGB值转换成hex值,生成25种颜色
col=apply(b2p2(seq(0, 1, len = 25)),1,function(x){
  rgb(x[1],x[2],x[3],maxColorValue = 255)
})
heatmap(data, cexCol = 1,scale="row",col = col)

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

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

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

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

获取文中使用的原始数据

参考资料:

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

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

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

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

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

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

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

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

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

你可能感兴趣的:(【R语言】热图绘制-heatmap+grDevice配色方案)