我试图用标准错误条绘制一个由两个变量GPP和NPP组成的分组条形图。我计算了SEGPP和SENPP中每个值的标准误差。如何在条形图中绘制这些标准错误条?
Dataset<- c("MOD", "IP", "MP","CC")
GPP <- c(0.6922179, 0.848324, 0.8363999,0.8783096)
NPP<-c(0.4010816,0.4290893, 0.4197423,0.4368065)
df <- data.frame(Dataset,GPP,NPP)
df.m<-reshape2::melt(df)
SEGPP<-c(0.25, 0.15,0.16,0.16)
SENPP<-c(0.15, 0.06,0.08,0.07)
df.m$SEGPP<-c(0.25, 0.15,0.16,0.16)
df.m$SENPP<-c(0.15, 0.06,0.08,0.07)
SDGPP和SDNPP是指标准差值,SEGPP和SENPP是指标准误差值。
通过此代码,我只能绘制GPP或NPP的标准错误。
ggplot(data=df.m,aes(x = factor(Dataset,levels=c('MOD', 'IP', 'MP', 'CC')), y = value, fill = variable))+
geom_bar(stat="identity", position = "dodge")+
geom_errorbar(aes(x=Dataset, **ymin=value-SENPP, ymax=value+SENPP**), width=0.4, position = position_dodge(.9))+
scale_fill_manual(labels = c("GPP", "NPP"),values=cbp1)+
theme_bw()+
theme(legend.text=element_text(size=12),axis.text.y=element_text(size=15),
axis.text.x=element_text(size=12),axis.title.x = element_text(size = 12),
axis.title.y = element_text(size = 12))+theme(legend.title =element_blank())+
labs(y= fn, x = "")
如何为同一绘图中的两个变量绘制错误条?
发布于 2020-08-20 10:56:25
我认为这里的诀窍是,您需要有一个SE
列。
Dataset<- c("MOD", "IP", "MP","CC")
GPP <- c(0.6922179, 0.848324, 0.8363999,0.8783096)
NPP<-c(0.4010816,0.4290893, 0.4197423,0.4368065)
df <- data.frame(Dataset,GPP,NPP)
df.m<-reshape2::melt(df)
SEGPP<-c(0.25, 0.15,0.16,0.16)
SENPP<-c(0.15, 0.06,0.08,0.07)
df.m$SE <- c(SEGPP, SENPP)
然后,要绘制这个图,可以使用geom_errorbar
,其中ymin
和ymax
被定义为值加上SE。使用position_dodge(0.9)
使SE线与条形线对齐是在this answer中讨论的。
ggplot(df.m, aes(Dataset, value, fill = variable)) +
geom_bar(stat = 'identity', position = position_dodge()) +
geom_errorbar(aes(ymin = value - SE, ymax = value + SE), position = position_dodge(0.9), width = 0.25)
https://stackoverflow.com/questions/63511139
复制相似问题