美文网首页plot
ggplot2优雅的绘制点图

ggplot2优雅的绘制点图

作者: R语言数据分析指南 | 来源:发表于2021-12-30 10:34 被阅读0次

    最近看到如下一张图感觉不错,今天来复现一下由于没有合适的数据,大家将就着看;有需要的小伙伴欢迎咨询

    • 废话不多说先来看图

    可以看到上图,主要采用了分面,同时将常见的箱线图转化为了点图+误差线,同时添加了阴影并使用ggh4x做了分面的注释;分析到此那我们就开始画图实操

    加载R包

    library(tidyverse)
    library(ggsci)
    

    导入数据

    df <- read_csv("data.csv")
    

    数据清洗

    p <- read_tsv("group.xls") %>% left_join(.,df,by="sample") %>% 
      unite(.,col="group",group1:group2,sep="_",remove = T,na.rm = F) %>% 
      pivot_longer(Shannon.Wiener:pielou) %>% select(-sample)
    

    数据可视化

    p %>% ggplot(aes(x = group, y =value,fill =group,group=1)) +
      stat_summary(fun.data="mean_cl_normal",geom="errorbar",width=0.2) +
      stat_summary(fun = "mean",geom = "point",size=5,pch=21)+
      stat_summary(fun = "mean", geom = "line",size=0.5)+
      annotate("rect",xmin="Control_A",xmax="Control_B",ymin=-Inf,ymax=Inf,alpha=0.3,fill="grey")+
    
      facet_wrap(.~name,scales = "free",labeller = label_wrap_gen(),nrow = 2)+
      scale_fill_npg()+
      theme_test()+
      theme(panel.spacing.x = unit(0.2,"cm"),
            panel.spacing.y = unit(0.1, "cm"),
            axis.title = element_blank(),
            strip.text.x = element_text(size=9,color="black"),
            axis.text = element_text(color="black"),
            axis.text.x=element_blank(),
            axis.ticks.x=element_blank(),
            legend.text = element_text(color="black",size=9),
            legend.title=element_blank(),
            legend.spacing.x=unit(0.1,'cm'),
            legend.key=element_blank(),
            legend.key.width=unit(0.4,'cm'),
            legend.key.height=unit(0.4,'cm'),
            legend.position = "top",
            plot.margin=unit(c(0.3,0.3,0.3,0.3),units=,"cm"))+
      guides(fill = guide_legend(direction = "horizontal"))+
      guides(fill=guide_legend(nrow=1, byrow=TRUE))
    

    大概绘制了一下,主要内容就是以上代码,喜欢的小伙伴关注我的公众号R语言数据分析指南*

    相关文章

      网友评论

        本文标题:ggplot2优雅的绘制点图

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