R语言:使用ComplexHeatmap包绘制热图
ComplexHeatmap包由顾祖光博士创建,用于绘制美观的热图,用颜色表示数据的聚合程度,相对美观。
使用手册见GitHub链接:
https://jokergoo.github.io/ComplexHeatmap-reference/book/
使用RStudio进行绘制
目标图形为河流底泥重金属的聚类分析热图,绘制流程如下:
1、安装相应package
2、正确导入数据,形成初始图
3、调整画面参数
安装相应package
# 检测安装CRAN包
package_list = c("circlize","grid","BiocManager")
for(p in package_list){
if (!requireNamespace(p, quietly = TRUE))install.packages(p)
}
# 检测安装bioconductor包
package_list = c("ComplexHeatmap")
for(p in package_list){
if (!requireNamespace(p, quietly = TRUE))BiocManager::install(p)
}# 加载依赖包
library(circlize)
library(grid)
library(ComplexHeatmap)
正确导入数据
1、点击左上角,新建 R Script,方便后续修改,减少直接在console里试错的代码行数,让画面更简洁,正确代码更方便查找。
2、设置新seed,然后右上角environment中点击import dataset,导入并预览相应的Excel文件(需事先安装读取Excel的package和安装rJava并配置环境)。
3、将数据进行0-1标准化,以消除量纲的影响。其计算方法为:x=(x-min)/(max-min)
相应代码如下:
set.seed(123)
library(readxl)
data1 <- read_excel(“data1.xls”)
View(data1)
#选择需要画图的列
mat <- subset(data1,select = c(“Cu”,“Zn”,“Pb”,“Cd”,“Cr”,“Ni”,“Hg”,“As”))
#因第一列数据类型为文本,需将其变成矩阵后才可将其作为列名,故将矩阵转置
mat_t <- t(mat)
#对行命名
colnames(mat_t)<-as.matrix(data1[,1])
#画图指令
heatmap(mat_t.scaled)
形成初始图:
调整画面参数
色彩选用RGB颜色,考虑到原数据为已标准化的连续矩阵,可使用一个颜色向量,此时受到极端值的影响,如果数据未标准化,可自行设置颜色取值区间,此时不受极端值影响。
#不受极端值影响,自定义颜色取值区间col_fun = colorRamp2(c(0.15,0.2,0.25,0.3,0.35),c("#FFFF00","#FFF68F", "#FFFFE0", "#CAE1FF","#5CACEE"))col_fun(seq(0, 1))
library(circlize)
#对不同数据进行分层设定颜色
col_fun = colorRamp2(seq(min(mat_t), max(mat_t), length = 2), c("#FFFAFA","#FF4500"),space = "RGB")
#对左侧聚成的三类进行颜色区分
library(dendextend)
row_dend = as.dendrogram(hclust(dist(mat_t)))
row_dend = color_branches(row_dend, k = 3) # `color_branches()` returns a dendrogram object
#增加边框、各色块间设置自定义线、设置高度,生成图
Heatmap(mat_t, name = "mat",col = col_fun,border = TRUE,rect_gp = gpar(col = "black", lwd = 1),column_dend_height = unit(2, "cm"),row_dend_width = unit(2, "cm"), cluster_rows = row_dend)
R语言:使用ComplexHeatmap包绘制热图相关推荐
- R语言使用beanplot包绘制豆荚图实战:与箱图、小提琴图对比、绘制不对称的豆荚图
R语言使用beanplot包绘制豆荚图实战:与箱图.小提琴图对比.绘制不对称的豆荚图 目录 R语言使用beanplot包绘制豆荚图实战 #包的安装和导入 #豆荚图与箱图
- R语言使用forestplot包绘制森林图:编码创建森林图仿真数据、汇总线修改、元素位置调整、垂直线、字体、风格、置信区间、线型、图例、刻度、标签等
R语言使用forestplot包绘制森林图:编码创建森林图仿真数据.汇总线修改.元素位置调整.垂直线.字体.风格.置信区间.线型.图例.刻度.标签等 目录
- ComplexHeatmap包绘制热图(二)
前面我介绍了如何利用ComplexHeatmap包绘制简单的热图,现在我们绘制一个稍微复杂一些的热图 首先还是配置数据 data=matrix(rnorm(100),nrow=10) colnames ...
- 跟着iMeta学做图|ComplexHeatmap包绘制热图展示不同样本物种相对丰度
本教程相关代码已经上传至 https://github.com/iMetaScience/iMetaPlot/tree/main/221125HeatmapOfAbundance 如果你使用本代码,请 ...
- R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义三线表结构(将因子变量细粒度化重新构建三线图)、为不同的变量显示不同的统计信息
R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.编写自定义三线表结构(将因子变量细粒度化重新构建三线图).为不同的变量显示不同的统计信息 目录
- 三线表是什么?R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义三线表结构(将因子变量细粒度化重新构建三线图)、编写自定义函数在三线表中添加p值
三线表是什么?R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.编写自定义三线表结构(将因子变量细粒度化重新构建三线图).编写自定义函数在三线表中添加p值 目录
- R语言使用pROC包在同一图中绘制两条ROC曲线并通过假设检验检验ROC曲线的AUC或者偏AUC的差异(输出p值)
R语言使用pROC包在同一图中绘制两条ROC曲线并通过假设检验检验ROC曲线的AUC或者偏AUC的差异(输出p值) 目录
- R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值、plot.roc函数绘制ROC曲线、添加置信区间、为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来
R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值.plot.roc函数绘制ROC曲线.添加置信区间.为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来 目录
- R语言使用forestploter包绘制单组及双组森林图
R语言使用forestploter包绘制单组及双组森林图 您可以使用 forestplot 包绘制单组和双组森林图.该包提供了一个简单的方法来绘制证据汇总图,并可以在一个图中显示多种证据来源的结果. ...
最新文章
- Myeclipse中修改项目默认编码还是乱码?一步永久解决!
- 实时目标检测--Pelee: A Real-Time Object Detection System on Mobile Devices
- 富士康c语言试卷答案,2015富士康笔试题目及答案
- hdu2482 字典树+spfa
- 基于matlab的dsp调试方法,基于Matlab7.0的DSP调试
- Kubernetes之kubectl常用命令
- 禅道开源版用户手册_Docker搭建开源版禅道以及项目基本流程介绍
- python 字符串处理 字典_python 字符串和字典
- 线程join_Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)
- vue 导入excel解析_VUE中导入excel文件
- sql server mysql 同步_SQL Server 用链接server 同步MySQL
- superset docker 部署
- 物联网时代AMD迎来最强发展契机
- Unity游戏开发——Excel数据读取到游戏中
- NSThread 在主线操作的三个方法
- 计算机控制系统课件百度云,技术员给你防止百度网盘和谐的方法
- Mybatis对象中含有list对象
- 我从Web前端开发转到网页游戏开发
- 浙大中控T9100系统在压缩机上的应用
- cef调用本地html,在CefSharp中使用本地构建的网页(Working with locally built web page in CefSharp)...