大数跨境
0
0

ComplexHeatmap轻松绘制基础热图

ComplexHeatmap轻松绘制基础热图 R语言数据分析指南
2024-12-01
2

欢迎关注R语言数据分析指南

本节来介绍使用ComplexHeatmap绘制一个简易的热图,使用nature上一篇论文的数据,在作者原有代码的基础上做了些许修改,无任何意义,仅供参考,更多详细的内容请参考论文内的具体介绍。数据+详细代码稍后会上传到交流群内,购买过小编绘图文档的朋友可在所加的交流群内获取下载,有需要的朋友可关注文末介绍购买小编的R绘图文档。购买前请咨询,零基础不要买。

论文

Spatially restricted immune and microbiota-driven adaptation of the guthttps://www.nature.com/articles/s41586-024-08216-z

Toufic Mayassi, Chenhao Li, Åsa Segerstolpe, Eric Brown, Rebecca Weisberg, Toru Nakata, Hiroshi Yano, Paula Herbst, David Artis, Daniel Graham, Ramnik Xavier. Spatially restricted immune and microbiota-driven adaptation of the gut. Nature. (2024).

加载R包

library(tidyverse)
library(ComplexHeatmap) 
library(circlize)

数据读取

# 读取矩阵数据文件,将"gene"列设置为行名,并转为矩阵
mat <- read_tsv("mat.tsv") %>% column_to_rownames(var="gene") %>% as.matrix()
# 读取分组信息文件,将"gene"列设置为行名
split <- read_tsv("group.tsv") %>% column_to_rownames(var="gene")
marker.genes.si <- rownames(split) # 获取marker基因的行名

定义标签

# 定义需要高亮显示的基因名列表
si.hilight <- c("Fabp6""Sult6b2""S100g""Tmigd1""Defa22""Defa21""Reg1""Enpp7""Ly6m""Papss2""Pmp22""Clca4a"
                "Fabp1""Alpi""Apoc2""Apoa4""Ace""Rbp2""Anxa4""Phgr1""Slc10a2""Ang4""Adh1""Reg3b"
                "Guca2a""S100a6""Slc51a""Spink4""Spink1""Prap1""Fabp2""Ada""Slc51b")

# 创建行注释,用于标记需要高亮的基因
hi <- rowAnnotation(foo = anno_mark(at = match(si.hilight, rownames(mat)), # 高亮基因在矩阵中的位置
                                    labels = rownames(mat)[match(si.hilight, rownames(mat))], # 对应基因标签
                                    labels_gp = gpar(fontsize=13))) # 设置标签字体大小

数据可视化

# 定义热图的颜色映射
heat.color <- circlize::colorRamp2(c(-202), c("#1C4573""yellow""#ED3E30")) 
# 将数值范围(-2, 0, 2)映射为对应的颜色蓝色、黄色、红色

Heatmap(mat, 
        cluster_columns = F# 禁用列聚类
        na_col = "grey"# 缺失值显示为灰色
        show_column_names = F# 不显示列名
        show_row_names = F# 不显示行名
        col = heat.color, # 使用定义的颜色映射
        use_raster = TRUE, raster_quality = 5# 使用光栅化,设置质量为5
        heatmap_legend_param = list(
            legend_height = unit(8"cm"), # 设置图例高度
            title_position = "lefttop-rot"# 图例标题位置
            title = "Expression"), # 图例标题为"Expression"
        cluster_rows = F# 禁用行聚类
        row_split = split[marker.genes.si, ], # 按照分组信息切分行
        cluster_row_slices = FALSE# 禁用切分行的聚类
        right_annotation = hi) # 添加右侧行注释

关注下方公众号下回更新不迷路

购买介绍

本节介绍到此结束,有需要学习R数据可视化的朋友欢迎到淘宝店铺:R语言数据分析指南,购买小编的R语言可视化文档(2024版),购买将赠送2023年的绘图文档内容。目前此文档(2023+2024)已经更新上传200案例文档,每个案例都附有相应的数据和代码,并配有对应的注释文档,方便大家学习和参考。

2024更新的绘图内容将同时包含数据+代码+注释文档+文档清单,2023无目录仅有数据文件夹,小编只分享案例文档,不额外回答问题,无答疑服务,零基础不推荐买。

案例特点

所选案例图均属于个性化分析图表完全适用于论文发表,内容异常丰富两年累计发布案例图200+,2024年6月起提供html版注释文档更加直观易学。文档累计上千人次购买拥有良好的社群交流体验。R代码结构清晰易懂,为防止中文乱码提供单独的注释文档

R代码结构清晰易懂,为防止中文乱码2024年6月起提供单独html注释文档

群友精彩评论

淘宝店铺

2024年已更新案例图展示

2023年案例图展示

【声明】内容源于网络
0
0
R语言数据分析指南
R语言重症爱好者,喜欢绘制各种精美的图表,喜欢的小伙伴可以关注我,跟我一起学习
内容 1180
粉丝 0
R语言数据分析指南 R语言重症爱好者,喜欢绘制各种精美的图表,喜欢的小伙伴可以关注我,跟我一起学习
总阅读222
粉丝0
内容1.2k