【R语言】热图绘制-heatmap+grDevice配色方案
语言 方案 绘制 配色 热图 heatmap
2023-06-13 09:13:02 时间
前面给大家介绍了如何使用R自带的heatmap函数+R自带的配色方案来绘制热图
也给大家介绍了如何使用R自带的heatmap函数+gplots的配色方案来绘制热图
今天我们接着来聊heatmap这个函数绘制热图,这次我们使用grDevice这个R包里面的配色方案
首先我们还是先读取需要的数据,这里用到的数据跟【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公共数据库的数据挖掘
课程网址:
https://ke.qq.com/course/package/37513
参考资料:
相关文章
- 用c语言编写一个学生成绩管理系统_c语言成绩查询系统编程
- golang有序map_go语言发展不起来
- WAIC 2022 | 澜舟科技创始人&CEO 周明:基于预训练语言模型的可控文本生成研究与应用
- swift 语言获取触摸点坐标 touchesBegan 中的 touches的坐标获取「建议收藏」
- R 语言 安装DESeq2,dplyr 包遇到报错的彻底解决方案
- R语言收益率和波动性模拟股票价格COMP226带自测题
- c语言中fprintf的作用,C语言中fprintf函数介绍
- stm32中的u8定义在哪里_c语言中u8和u16是啥
- R语言用贝叶斯层次模型进行空间数据分析|附代码数据
- Rust语言的学习路线和技术汇总
- 【C 语言】结构体 ( 结构体浅拷贝 )
- 【C 语言】结构体 ( 指针运算与指针内存操作 | 结构体成员偏移量计算 )
- 【Kotlin】函数 ⑨ ( Kotlin 语言中的闭包概念 | Java 语言中函数作为参数的替代方案 )
- Go语言——方法
- Go语言指针详解,看这一篇文章就够了
- Go语言函数变量——把函数作为值保存到变量中
- Go语言GOPATH详解(Go语言工作目录)
- 流行的Go语言web框架简介详解大数据
- Linux虚拟机:让跨语言运行成为可能(linux虚拟机语言)
- 以Linux为基础搭建Skype网络语言学习环境(linuxskype)
- C 语言操作 MySQL 实现数据插入(c 中mysql插入数据)
- 解决c语言连接Oracle数据库技巧(c 链接到oracle)
- 在ubuntu下构建go语言开发环境的方法