前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >跟着Gut学画图:R语言ggtree包画弦图的简单小例子

跟着Gut学画图:R语言ggtree包画弦图的简单小例子

作者头像
用户7010445
发布2021-08-31 17:46:11
1.1K0
发布2021-08-31 17:46:11
举报

今天的推文内容是模仿论文 Aberrant gut microbiota alters host metabolome and impacts renal failure in humans and rodents 中的Figure3A

image.png

image.png

R语言里circlize这个包应该可以实现,最近在学习ggtreeExtra,对应的论文里有一个图

image.png

最内圈基本是一样的,实现这个内圈的函数是ggtree包的geom_taxalink()函数,这里我用4.0.3版本的R和2.4.1版本的ggtree会遇到报错 Error in numnotnull("fontsize") : object '.pt' not found,暂时不知道是什么原因,我安装了4.1.0版本的R和3.0.2版本的ggtree就没有这个报错

下面介绍代码

首先是自己准备一个newick格式的树文件

image.png

同一个组的数据用括号括起来,中间逗号分隔,不同组之间用逗号分隔,最后一个括号将所有内容括到一起,最后是一个分号

画一个树形图展示一下

library(ggtree)
library(treeio)

tree<-read.tree("example.txt")

ggtree(tree,layout = "circular")+
  geom_tiplab()

image.png

接下来是一个分组文件用来给tip映射颜色

image.png

代码

df1<-read.delim("tip_group.txt")
head(df1)

tree<-full_join(tree,df1,by="label")

col<-c("#f04334","#99ca67","#994da5")

ggtree(tree,layout = "circular")+
  geom_tiplab(aes(color=group))+
  scale_color_manual(values = col )

image.png

接下来是连线的数据

image.png

代码

ggtree(tree,layout = "inward_circular",
       xlim = c(40,NA),
       alpha=0)+
  geom_tiplab(aes(color=group),show.legend=F)+
  scale_color_manual(values = col )+
  ggnewscale::new_scale_color()+
  geom_taxalink(data=df2,
                mapping=aes(taxa1=taxa1,
                            taxa2=taxa2,
                            color=group1),
                hratio=3)+
  scale_color_manual(values = c("#2398c5","#febf68"))

最终结果

image.png

这里还用到了ggnewscale这个包,如果是第一次使用需要安装

示例数据和代码放到了今天 次条推文的留言区 次条推文是一个广告

欢迎大家关注我的公众号

小明的数据分析笔记本

小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!

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

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 下面介绍代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档