前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >跟着Nature学作图:R语言ggtree给进化树的节点添加饼状图

跟着Nature学作图:R语言ggtree给进化树的节点添加饼状图

作者头像
用户7010445
发布于 2023-01-06 11:40:02
发布于 2023-01-06 11:40:02
72500
代码可运行
举报
运行总次数:0
代码可运行

论文

Galeaspid anatomy and the origin of vertebrate paired appendages

https://www.nature.com/articles/s41586-022-04897-6

s41586-022-04897-6.pdf

最近朋友圈好多人都在转发这篇论文,我也找来看了看,论文整体的内容我看起来还是非常吃力的,但是论文中关于进化树的作图方法我可以写个教程分享给大家

今天推文的内容重复一下论文中的Fig4a 进化树叠加图片并在节点上叠加饼状图

image.png

首先是进化树

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(ggtree)
library(scatterpie)


tree<-read.tree("data/20220930/fig4a.nwk")

ggtree(tree)+
  geom_tiplab()+
  xlim(NA,15)

image.png

叠加图片

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ggtree(tree)+
  geom_tiplab(aes(image=paste0("data/20220930/",label,".png")),
              geom = "image",size=0.2,offset = 0.2)+
  xlim(NA,16)+
  geom_tiplab(offset = 4)

image.png

叠加饼状图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ggtree(tree)+
  geom_nodelab(aes(label=node))+
  geom_tiplab(aes(label=node)) -> p

library(tidyverse)



list(ggplot2::ggplot_build(p)$data[[3]],
     ggplot2::ggplot_build(p)$data[[4]])%>% 
  bind_rows() %>% 
  select(y,x,node) %>% 
  arrange(node) %>% 
  write_csv("data/20220930/pie_df1.csv")

pie.df<-read_csv("data/20220930/pie_df1.csv")

pie.df

ggtree(tree,size=1)+
  #geom_tiplab(offset=2)+
  geom_scatterpie(data=pie.df,
                  aes(x=x,y=y,group=node,
                      r=0.4),
                  cols = c("Absent","Present"))+
  scale_fill_manual(values = c("Absent"="white",
                               "Present"="#55cc81"))+
  geom_tiplab(aes(image=paste0("data/20220930/",label,".png")),
              geom = "image",size=0.2,offset = 0.4)+
  xlim(NA,16)+
  geom_tiplab(offset = 4)+
  theme(legend.position = c(0.2,0.8))+
  coord_fixed()

image.png

这里如何旋转每个饼状图暂时想不明白了

ggtree里有一个nodepie的函数也可以试试添加饼状图

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验