前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R优雅的给环状热图添加显著性标记

R优雅的给环状热图添加显著性标记

作者头像
R语言数据分析指南
发布2023-08-18 13:25:01
3840
发布2023-08-18 13:25:01
举报

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

官方文档

❝https://bioconductor.org/packages/release/bioc/vignettes/ggtreeExtra/inst/doc/ggtreeExtra.html ❞

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

加载R包

代码语言:javascript
复制
library(ggtreeExtra)
library(ggtree)
library(treeio)
library(tidyverse)
library(ggnewscale)

数据清洗

代码语言:javascript
复制
df <- read.delim("genus.xls",sep="\t") %>% head(60) %>% 
  column_to_rownames(var="OTU.ID")

dat2 <- df %>% mutate_if(is.numeric,function(x) x+ 1) %>%
  log10() %>% 
  rownames_to_column(var="ID") %>% pivot_longer(-ID) %>% 
  mutate(name = trimws(str_remove(name,"(\\s+[A-Za-z]+)?[3-6-]+")))

可视化距离矩阵

代码语言:javascript
复制
p <- hclust(dist(df)) %>% ggtree(layout="fan", open.angle=10)

绘制环状热图

代码语言:javascript
复制
p + new_scale_fill() +
  geom_fruit(data=dat2, geom=geom_tile,
             mapping=aes(y=ID, x=name,alpha=value,fill=name),
             color = "grey50",offset = 0.04,size = 0.02)+
  geom_fruit(data=dat2 %>%
               mutate(text=case_when(value > 2.5 ~ "**",TRUE ~ " ")),
             geom=geom_text,
             mapping=aes(y=ID,x=name,label=text),
             color = "black",offset =0.01,size =2,vjust=0.5)+
  scale_alpha_continuous(guide=NULL)+
  scale_fill_manual(values=c("#FFC125","#87CEFA","#7B68EE",
                             "#9ACD32","#D15FEE","#FFC0CB",
                             "#EE6A50","#8DEEEE", "#006400","#800000",
                             "#B0171F","#191970"))+
  theme(legend.position="none")

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

本文分享自 R语言数据分析指南 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 欢迎关注R语言数据分析指南
  • 关注下方公众号下回更新不迷路
  • 加载R包
  • 数据清洗
  • 可视化距离矩阵
  • 绘制环状热图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档