首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[nmicrobiol图表复现] ggtree绘制离散型环状热图

[nmicrobiol图表复现] ggtree绘制离散型环状热图

作者头像
R语言数据分析指南
发布2022-12-20 19:53:19
发布2022-12-20 19:53:19
1K0
举报

❝本节来复现「nmicrobiol」上的一张图,此图有些小细节因此适用于「ggtree」绘制不需要其它扩展包;下面小编就通过一个详细的案例介绍如何绘制此图;

参考文档

❝https://yulab-smu.top/treedata-book/chapter7.html ❞

加载R包

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

读入树文件

代码语言:javascript
复制
tree <- read.tree("RAxML_bipartitions.allUK_1000.nwk")

绘制进化树

代码语言:javascript
复制
cir <- ggtree(tree, layout="circular")+
  geom_tiplab(size=2,align=T,linesize=0,color="black",offset =0.4)

导入热图数据

热图中包含进化树名称,因此只需要将其转换为行名即可

代码语言:javascript
复制
df <- read_csv("metadata.csv") %>%
  column_to_rownames(var="label")

绘制heatmap

此处使用「color=NULL」来取消热图边框颜色,offset设置热图与进化树直接的距离

代码语言:javascript
复制
p1 <- gheatmap(cir,df %>% select(1),offset=0.6,width=.1,
               colnames_offset_y=0,colnames = F,color=NULL)+
  scale_fill_manual(values=c("#440154","#3b528b"))+
  new_scale_fill()

绘制外圈

代码语言:javascript
复制
gheatmap(p1,df %>% select(2),offset=0.696,width=.1,
           colnames_offset_y=0,colnames = F,color=NULL)+
  scale_fill_manual(values=c("#21918c","#5ec962","#fde725"))+
  theme(legend.title = element_blank(),
        legend.text=element_text(color="black"),
        legend.background = element_blank(),
        legend.key = element_blank(),
        legend.spacing.x = unit(0.1,'cm'),
        legend.key.width=unit(0.4,'cm'),
        legend.key.height=unit(0.4,'cm'))
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ❝本节来复现「nmicrobiol」上的一张图,此图有些小细节因此适用于「ggtree」绘制不需要其它扩展包;下面小编就通过一个详细的案例介绍如何绘制此图;
  • 参考文档
  • 加载R包
  • 读入树文件
  • 绘制进化树
  • 导入热图数据
  • 绘制heatmap
  • 绘制外圈
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档