Hello, I'm attempting to plot error bars side by side rather than stacked on top of each other with ggplot2. Here is the sample code I am using: #Code #Data spd<-c("s","f","f","s","f","s","s","s","f","f","s","f") r<-c(4.9,3.2,2.1,.2,3.8,6.4,7.5,1.7,3.4,4.1,2.2,5) #Turn spd into a factor spd.f<-factor(spd) #Place data into a data frame data<-data.frame(cbind(spd.f,r)) #Load ggplot2 library(ggplot2) #Create plot pd<-position_dodge(.2) myplot<-ggplot(data,aes(x=spd,y=r,colour=spd))+ geom_errorbar(aes(ymin=3,ymax=5),width=.1)+ geom_point()+ geom_errorbar(aes(ymin=1,ymax=6),width=.1,colour="black",position=pd) #Display plot myplot I have attached a plot that my sample code produces. As you can see the error bars are stacked. How can I get them to plot side by side? Thanks AG
Is this what you mean? dat1 <- data.frame( spd = c("s","f","f","s","f","s","s","s","f","f","s","f"), r = c(4.9,3.2,2.1,.2,3.8,6.4,7.5,1.7,3.4,4.1,2.2,5)) myplot<-ggplot(dat1, aes(spd, r, colour = spd)) + geom_errorbar(aes(ymin=3, ymax=5), width=.1) + geom_point() + coord_flip() John Kane Kingston ON Canada> -----Original Message----- > From: adamjgabbert at gmail.com > Sent: Thu, 26 Jul 2012 09:03:44 -0400 > To: r-help at r-project.org > Subject: [R] Error Bars ggplot2 > > Hello, > > I'm attempting to plot error bars side by side rather than stacked on top > of each other with ggplot2. Here is the sample code I am using: > > #Code > > #Data > spd<-c("s","f","f","s","f","s","s","s","f","f","s","f") > r<-c(4.9,3.2,2.1,.2,3.8,6.4,7.5,1.7,3.4,4.1,2.2,5) > > #Turn spd into a factor > spd.f<-factor(spd) > > #Place data into a data frame > data<-data.frame(cbind(spd.f,r)) > > #Load ggplot2 > library(ggplot2) > > #Create plot > pd<-position_dodge(.2) > myplot<-ggplot(data,aes(x=spd,y=r,colour=spd))+ > geom_errorbar(aes(ymin=3,ymax=5),width=.1)+ > geom_point()+ > geom_errorbar(aes(ymin=1,ymax=6),width=.1,colour="black",position=pd) > #Display plot > myplot > > I have attached a plot that my sample code produces. As you can see the > error bars are stacked. How can I get them to plot side by side? > > Thanks > > AG > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.____________________________________________________________ GET FREE 5GB EMAIL - Check out spam free email with many cool features! Visit http://www.inbox.com/email to find out more!
Hi Dennis, Part of my problem could be that I'm unsure how to nest another variable withn spd.f. Perhaps if I give a better explanation of my goal things will make more sense. My intent is to calculate two sets of confidence intervals to show the benefits of a DOE approach versus a Non-DOE approach. For example, I want to calculate the confidence intervals for "f" and "s" in two ways. First using a DOE approach, by taking the mean of the "f" or "s" values plus/minus t-value at a 95%ci with 10df multiplied by the standard error [mean(f-values) +- tval(.95ci,10df)*std.err]. Second using a "bin" specific approach which only looks at the 6 "f" or "s" values (i.e, mean(f-values) +- tval(.95ci, 5df)*std.err.mean). This will leave me with two confidence intervals, that I want to plot side by side to show that the DOE approach confidence interval will be smaller for most cases. I have attached a sample plot that shows the plot layout I'm trying to get. Thanks AG Hi: Your code makes no sense because the variable by which you want to dodge is the same as the one you're using on the x-axis. Dodging by subgroups is an application of visualizing nested data, which you don't have (at least in the state that you posted). For your data, this would work: ggplot(data, aes(x = spd, y = r, colour = spd)) + geom_errorbar(aes(ymin = 3, ymax = 5), width = 0.1) + geom_point() I don't understand the point of the second geom_errorbar() call, so I'm just avoiding it. In order to dodge (appose groups in factor B side by side within each level of factor A), you need a third variable whose values are nested within levels of spd.f. HTH, Dennis On Thu, Jul 26, 2012 at 6:03 AM, Adam Gabbert <adamjgabbert at gmail.com> wrote:> Hello, > > I'm attempting to plot error bars side by side rather than stacked on top > of each other with ggplot2. Here is the sample code I am using: > > #Code > > #Data > spd<-c("s","f","f","s","f","s","s","s","f","f","s","f") > r<-c(4.9,3.2,2.1,.2,3.8,6.4,7.5,1.7,3.4,4.1,2.2,5) > > #Turn spd into a factor > spd.f<-factor(spd) > > #Place data into a data frame > data<-data.frame(cbind(spd.f,r)) > > #Load ggplot2 > library(ggplot2) > > #Create plot > pd<-position_dodge(.2) > myplot<-ggplot(data,aes(x=spd,y=r,colour=spd))+ > geom_errorbar(aes(ymin=3,ymax=5),width=.1)+ > geom_point()+ > geom_errorbar(aes(ymin=1,ymax=6),width=.1,colour="black",position=pd) > #Display plot > myplot > > I have attached a plot that my sample code produces. As you can see the > error bars are stacked. How can I get them to plot side by side? > > Thanks > > AG