我过去3天一直在使用R,并且通过研究获得了大部分代码,我已经根据自己的需要进行了调整。它运作得非常好。我希望能够分别用(B,A *,A,A)标记/注释标准错误的错误条。以下是工作代码;
cat<-rep(c("E","F","G","H"),each=12)
var2=rnorm(48,10)*(rep(rpois(4,.2),each=12)/8+1)
ds<-data.frame(cat,var2)
lbls<- c("B","A*","A","A")
stderr <- function(x){sqrt(var(x,na.rm=TRUE)/length(na.omit(x)))}
lowsd <- function(x){return(mean(x)-stderr(x))}
highsd <- function(x){return(mean(x)+stderr(x))}
cols <- c("red", "yellow", "green", "blue")
ggplot(ds,aes(cat,var2, fill=cat))+
ggtitle("Asem beba Dabi")+
xlab("Soil Sample Sites\n\n Fig 1 shows...") + ylab("Mass or Water(mg)") +
# first layer is barplot with means
stat_summary(fun.y=mean, geom="bar", position="dodge", colour="white")+
# second layer overlays
stat_summary(fun.y=mean, fun.ymin=lowsd, fun.ymax=highsd, geom="errorbar", position="dodge",color = 'blue', size=.5)
这是我正在努力的一点
geom_text(aes(label=lbls), position=position_dodge(width=0.9), vjust=-0.25)
这是一项学校作业,任何帮助都将受到高度赞赏
答案 0 :(得分:1)
您看不到标签,因为标签与x和y值不在同一数据框中。一种解决方案是使用与stat_summary()
相同的geom="text"
,然后使用vjust=
调整位置。
ggplot(ds,aes(cat,var2, fill=cat))+
stat_summary(fun.y=mean, geom="bar", colour="white")+
stat_summary(fun.y=mean, fun.ymin=lowsd, fun.ymax=highsd,
geom="errorbar", color = 'blue', size=.5)+
stat_summary(fun.y=mean,geom="text",label=lbls,vjust=-2)