R语言ggplot2做柱形图添加误差线并且自动添加显著性星号

代码

df<-read.table("clipboard",header = T)
df
errorbar_up<-function(x){
  mean(x)+sd(x)
}
errorbar_down<-function(x){
  mean(x)-sd(x)
}

library(ggplot2)
library(ggsignif)
ggplot(data=df,aes(x,y))+
  stat_summary(geom = "bar",
               fun=mean,
               aes(fill=x))+
  stat_summary(geom="errorbar",
               fun.min = errorbar_down,
               fun.max = errorbar_up,
               width=0.2)+
  geom_signif(comparisons = list(c("A","B"),
                                 c("A","D"),
                                 c("B","D")),
              test = 't.test',
              y_position = c(10,17,16),
              map_signif_level = T)+
  scale_y_continuous(expand = c(0,0),limits = c(0,18))+
  theme_bw()+
  scale_fill_manual(values = c("steelblue", 
                               "yellowgreen", 
                               "violetred1"))+
  theme(legend.title = element_blank())+
  labs(x="AAAAA",
       y="BBBBB",
       title = "CCCCC",
       caption = "DDDDD")+
  theme(panel.grid = element_blank())
image.png

数据

image.png

之前自己都是先把数据算好,然后用ggplot2作图,最近在学stat系列的函数,可以试着直接用原始数据来画图了,这样方便很多

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

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

你可能感兴趣的:(R语言ggplot2做柱形图添加误差线并且自动添加显著性星号)