美文网首页生信可视化
跟着Nature microbiology学画图~R语言ggpl

跟着Nature microbiology学画图~R语言ggpl

作者: 小明的数据分析笔记本 | 来源:发表于2020-12-12 09:56 被阅读0次

    今天要模仿的图片来自于论文 Core gut microbial communities are maintained by beneficial interactions and strain variability in fish。期刊是 Nature microbiology

    image.png

    重复的图片是Figure2中的直方图

    image.png
    首先是模拟数据

    直方图的数据相对比较简单,只需要准备一列x和一列y即可


    image.png

    另存为csv格式,存储到Rstudio的工作目录下。这边我命名为 example_1.csv

    读入数据
    df<-read.csv("example_1.csv",header=T)
    df
    
    最基本的直方图

    使用geom_col()函数

    ggplot(df,aes(x=x,y=y))+
      geom_col()
    
    image.png
    如果想要让柱子紧挨着,去除柱子之间的空白,可以加一个width=1这个参数
    ggplot(df,aes(x=x,y=y))+
      geom_col(width = 1)
    
    image.png
    为边框设置颜色用到的是color参数
    ggplot(df,aes(x=x,y=y))+
      geom_col(width = 1,color="black")
    
    image.png
    更改柱子的填充颜色用到的是fill参数
    ggplot(df,aes(x=x,y=y))+
      geom_col(width = 1,color="black",fill="grey")
    
    image.png
    更改x轴和y轴的标题,可以用labs()函数
    ggplot(df,aes(x=x,y=y))+
      geom_col(width = 1,color="black",fill="grey")+
      labs(x="Niche width",y="Number of ESVs")
    
    image.png
    去掉灰色的背景,通过主题函数theme()进行设置
    ggplot(df,aes(x=x,y=y))+
      geom_col(width = 1,color="black",fill="grey")+
      labs(x="Niche width",y="Number of ESVs")+
      theme(panel.background = element_blank())
    
    image.png
    加上x轴和y轴的线条
    ggplot(df,aes(x=x,y=y))+
      geom_col(width = 1,color="black",fill="grey")+
      labs(x="Niche width",y="Number of ESVs")+
      theme(panel.background = element_blank(),
            axis.line = element_line())
    
    image.png
    添加一条垂直的辅助线,用到的是geom_vline()函数
    ggplot(df,aes(x=x,y=y))+
      geom_col(width = 1,color="black",fill="grey")+
      labs(x="Niche width",y="Number of ESVs")+
      theme(panel.background = element_blank(),
            axis.line = element_line())+
      geom_vline(xintercept = 4,lty="dashed",color="red")
    
    image.png
    添加右侧粉红色的矩形框,用到的是geom_rect()函数
    ggplot(df,aes(x=x,y=y))+
      geom_col(width = 1,color="black",fill="grey")+
      labs(x="Niche width",y="Number of ESVs")+
      theme(panel.background = element_blank(),
            axis.line = element_line())+
      geom_vline(xintercept = 4,lty="dashed",color="red")+
      geom_rect(aes(xmin=4.02,xmax=4.5,ymin=0,ymax=1200),
                fill="red",alpha=0.2)
    
    image.png
    最后是添加一些文本注释,使用的是annotate()函数
    ggplot(df,aes(x=x,y=y))+
      geom_col(width = 1,color="black",fill="grey")+
      labs(x="Niche width",y="Number of ESVs")+
      theme(panel.background = element_blank(),
            axis.line = element_line())+
      geom_vline(xintercept = 4,lty="dashed",color="red")+
      geom_rect(aes(xmin=4.02,xmax=4.5,ymin=0,ymax=1200),
                fill="red",alpha=0.2)+
      annotate("text",x=0,y=1250,label="Specialist microbes")+
      annotate("text",x=4,y=1250,label="Generalist microbes")
    
    image.png

    欢迎大家关注我的公众号
    小明的数据分析笔记本

    相关文章

      网友评论

        本文标题:跟着Nature microbiology学画图~R语言ggpl

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