美文网首页
跟着Nature Communication学作图:R语言ggp

跟着Nature Communication学作图:R语言ggp

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

    论文

    Microbiomes in the Challenger Deep slope and bottom-axis sediments

    https://www.nature.com/articles/s41467-022-29144-4#code-availability

    对应代码链接

    https://github.com/ucassee/Challenger-Deep-Microbes

    论文里提供了大部分图的数据和代码,很好的学习材料,感兴趣的同学可以找来参考,今天的推文重复一下论文中的Figure1b

    论文中提供的代码是用ggpubr这个R包实现的,如果比较着急要结果可以使用这个R包来作图,如果是学习为目的,还是推荐ggplot2的基础

    部分数据集截图

    image.png

    读取数据集

    dat<-read.delim("data/20220602/NCfigure1b.txt",
                    header = TRUE,
                    check.names = FALSE,
                    sep="\t")
    head(dat)
    

    带有百分号读取进来是字符,我们把它转换成数字

    library(tidyverse)
    
    
    dat %>% 
      mutate(`Novel 16s miTags (%)` = dat$`Novel 16s miTags (%)` %>%  parse_number()) -> dat01
    

    对表示分组的文本进行处理

    dat01 %>% 
      mutate(group=case_when(
        Group == "Bottom-axis" ~ "Bottom",
        Group == "Slope" ~ "Slope",
        Group == "Mariana Water" ~ "Mariana Water",
        TRUE ~ "Deep sea"
      )) -> dat02
    

    赋予因子水平

    dat02$group <- factor(dat02$group, 
                          levels=c("Bottom", "Slope","Deep sea", "Mariana Water"), 
                          ordered=TRUE)
    table(dat02$group)
    

    作图代码

    p1<- ggboxplot(dat02, x="group", y="Novel 16s miTags (%)", 
                   fill = "group", width = 0.5,
                   xlab = "",
                   palette = c("#F8766D","#00BFC4","#FEFF99","#B14A87"))+
      ylab(label = "Novel 16S miTags (%)")+
      #scale_y_continuous(labels = scales::percent)+
      guides(fill=F)+
      scale_x_discrete(labels = c("Bottom\naxis\n(n=17)", 
                                  "Slope\n(n=20)",
                                  "Deep\nsed\n(n=20)",
                                  "Mariana\nwater\n(n=7)"))+
      theme(axis.text = element_text(size=10,family="serif"))+
      stat_compare_means(comparisons=p1_comparisons,
                         label.y = c( 48, 53,40, 58),  
                         method = "wilcox.test",size=3) # Add pairwise comparisons p-value 
    p1
    
    image.png

    试一下论文中提供的拼图代码

    library(cowplot)
    aligned_plots<- align_plots(p1, p1,align="h")
    ggdraw( xlim = c(0, 1.1), ylim = c(0, 0.30))+
      draw_plot(aligned_plots[[1]], x=0,y=0,  width=0.5, height = 0.28)+
      draw_plot(aligned_plots[[2]], x=0.50,y=0, width = 0.5, height = 0.28)
    
    image.png

    示例数据和代码可以在公众号后台留言20220608获取

    欢迎大家关注我的公众号

    小明的数据分析笔记本

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

    相关文章

      网友评论

          本文标题:跟着Nature Communication学作图:R语言ggp

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