美文网首页ggplot2绘图基因组数据绘图R语言做图
跟着ISEM学作图:R语言ggtree+ggplot2组合进化树

跟着ISEM学作图:R语言ggtree+ggplot2组合进化树

作者: 小明的数据分析笔记本 | 来源:发表于2022-04-08 16:18 被阅读0次

    论文

    Conserved and reproducible bacterial communities associate with
    extraradical hyphae of arbuscular mycorrhizal fungi

    image.png

    今天的推文我们来重复一下论文中的 Figure 2

    image.png

    没有找到论文提供的原始数据,这里数据我自己构造一份

    首先是左侧的进化树文件

    (((A8:0.9735669859,((A5:0.7219205995,A9:0.5385038075):0.6462689626,A1:0.3329299772):0.03139768029):0.06015197909,A10:0.4923124262):0.4108513703,(((A6:0.8690173309,A4:0.5830903472):0.309844861,(A3:0.5314095169,A7:0.8771070722):0.7551963951):0.5753640204,A2:0.7064118343):0.2585936433);
    

    给进化树准备一个分组文件

    image.png

    右侧的气泡图数据

    image.png

    数据没有实际意义是随便构造的,公众号可以找到数据和代码的获取方式

    首先是做进化树的代码

    library(ggtree)
    library(treeio)
    library(readxl)
    library(tidyverse)
    
    tree<-read.tree("ISEM/example.tree")
    dat01<-read_excel("ISEM/dat01.xlsx")
    tree<-full_join(tree,dat01,by="label")
    
    ggtree(tree)+
      geom_tiplab(align = TRUE,
                  fontface=3)+
      geom_tippoint(aes(color=groupinfo),
                    show.legend = F,
                    size=5)+
      scale_color_manual(values = c('group1'='#df237b',
                                    'group2'='#11926a'))+
      xlim(0,3)-> p1
    
    p1
    
    image.png

    然后是右侧气泡图的代码

    dat02<-read_excel("ISEM/dat02.xlsx")
    
    dat02$species<-
      factor(dat02$species,
             labels = c('G. versiforme\nDryden',
                        'G. versiforme\nFlorence',
                        'G. versiforme\nPendleton',
                        'R. irregularis\nDryden'))
    
    dat02$tiplabel<-
      factor(dat02$tiplabel,
             levels = p1$data %>% na.omit() %>% arrange(y) %>% pull(label))
    
    ggplot(data=dat02,aes(x=log2foldchange,y=tiplabel))+
      geom_point(aes(size=`Mean relative abundance`,
                     fill=groupinfo),
                 shape=21)+
      geom_vline(xintercept = 0,lty="dashed",color="grey")+
      facet_wrap(~species,nrow = 1,
                 scales = 'free')+
      scale_fill_manual(values = c('group1'='#df237b',
                                   'group2'='#11926a'))+
      guides(size=guide_legend(order = 1),
             fill=guide_legend(order = 2))+
      theme_minimal()+
      theme(legend.position = 'bottom',
            legend.direction = 'vertical',
            legend.justification = c(0,0),
            axis.line.x = element_line(),
            axis.ticks.x = element_line(),
            axis.title.y = element_blank(),
            axis.text.y = element_blank(),
            panel.grid = element_blank(),
            strip.background = element_rect(fill = "grey")) -> p2
    
    p2
    
    
    image.png

    最后是拼图的代码

    
    library(patchwork)
    help(package="patchwork")
    
    p1+p2+
      plot_layout(widths = c(1,4))
    
    image.png

    这里拉丁文的斜体没有通过代码设置,出图后再编辑可能比较方便

    公众号可以找到数据和代码的获取方式

    欢迎大家关注我的公众号

    小明的数据分析笔记本

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

    相关文章

      网友评论

        本文标题:跟着ISEM学作图:R语言ggtree+ggplot2组合进化树

        本文链接:https://www.haomeiwen.com/subject/yrmesrtx.html