I am trying to make a box plot and overlay it with a scatter plot from another data.frame. I was able to successfully create the boxplot, but when i tried using points(x~y...) the dots did not show up. example code aa<-(300,300,300,300,600,600,600,600,900,900,900,900) bb<-(13,12,14,11,56,44,34,75,22.,34,22,98,59,55,56) cc<-(13,12,14,11,56,44,34,75,22.,34,22,98,59,55,56) nn<-data.frame(aa,bb) mm<-data.frame(aa,cc) boxplot(bb~aa, data=nn) lines(cc~aa, data=cc) Any help with example code is appreciated. Thank you. Lanre
Hi your example code is not reproducible. On 1 Aug 2006 at 8:09, Lanre Okusanya wrote: Date sent: Tue, 1 Aug 2006 08:09:38 -0400 From: "Lanre Okusanya" <lanre.okusanya at gmail.com> To: R-help at stat.math.ethz.ch Subject: [R] Overlay Boxplot with scatter plot> I am trying to make a box plot and overlay it with a scatter plot from > another data.frame. I was able to successfully create the boxplot, but > when i tried using points(x~y...) the dots did not show up. > > example code > > aa<-(300,300,300,300,600,600,600,600,900,900,900,900)^^^ missing c> bb<-(13,12,14,11,56,44,34,75,22.,34,22,98,59,55,56) > cc<-(13,12,14,11,56,44,34,75,22.,34,22,98,59,55,56) > nn<-data.frame(aa,bb)different length of aa and bb> mm<-data.frame(aa,cc) > boxplot(bb~aa, data=nn) > lines(cc~aa, data=cc) > > Any help with example code is appreciated.x<-rnorm(20) y<-rep(c(10,20),each=10) bbb<-boxplot(x~as.factor(y)) although it seems as boxes are drawn at 10, 20 they are not. Actually the x position of each box is located at - from help page - at numeric vector giving the locations where the boxplots should be drawn, particularly when add = TRUE; defaults to 1:n where n is the number of boxes. as you can clearly demonstrate by issuing points(1,0, cex=10) HTH Petr> > Thank you. > > Lanre > > ______________________________________________ > R-help at stat.math.ethz.ch 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.Petr Pikal petr.pikal at precheza.cz
my apologies about the initial bad sample code. Now assume I have a<-rnorm(6) b<-rep(c(10,20),each=3) ab<-data.frame(a,b) and I wanted to overlay this points on the graph? On 8/1/06, Petr Pikal <petr.pikal at precheza.cz> wrote:> Hi > > your example code is not reproducible. > > On 1 Aug 2006 at 8:09, Lanre Okusanya wrote: > > Date sent: Tue, 1 Aug 2006 08:09:38 -0400 > From: "Lanre Okusanya" <lanre.okusanya at gmail.com> > To: R-help at stat.math.ethz.ch > Subject: [R] Overlay Boxplot with scatter plot > > > I am trying to make a box plot and overlay it with a scatter plot from > > another data.frame. I was able to successfully create the boxplot, but > > when i tried using points(x~y...) the dots did not show up. > > > > example code > > > > aa<-(300,300,300,300,600,600,600,600,900,900,900,900) > ^^^ missing c > > bb<-(13,12,14,11,56,44,34,75,22.,34,22,98,59,55,56) > > cc<-(13,12,14,11,56,44,34,75,22.,34,22,98,59,55,56) > > nn<-data.frame(aa,bb) > different length of aa and bb > > > mm<-data.frame(aa,cc) > > boxplot(bb~aa, data=nn) > > lines(cc~aa, data=cc) > > > > Any help with example code is appreciated. > > x<-rnorm(20) > y<-rep(c(10,20),each=10) > bbb<-boxplot(x~as.factor(y)) > > although it seems as boxes are drawn at 10, 20 they are not. > Actually the x position of each box is located at > > - from help page - > at numeric vector giving the locations where the boxplots should be > drawn, particularly when add = TRUE; defaults to 1:n where n is the > number of boxes. > > as you can clearly demonstrate by issuing > > points(1,0, cex=10) > > HTH > Petr > > > > > Thank you. > > > > Lanre > > > > ______________________________________________ > > R-help at stat.math.ethz.ch 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. > > Petr Pikal > petr.pikal at precheza.cz > >
boxplot does not use the actual values of aa as x-value, but considers aa as a factor having three levels. Try bxp <- boxplot(bb~aa, data=nn) bxp to see what the boxplot actually is. For your lines you should also use three levels. aa2<-c(1,1,1,1,2,2,2,2,3,3,3,3,3,3,3) points(cc~aa2) (after you have been correcting your example code...) Joris Lanre Okusanya wrote:> I am trying to make a box plot and overlay it with a scatter plot from > another data.frame. I was able to successfully create the boxplot, but > when i tried using points(x~y...) the dots did not show up. > > example code > > aa<-(300,300,300,300,600,600,600,600,900,900,900,900) > bb<-(13,12,14,11,56,44,34,75,22.,34,22,98,59,55,56) > cc<-(13,12,14,11,56,44,34,75,22.,34,22,98,59,55,56) > nn<-data.frame(aa,bb) > mm<-data.frame(aa,cc) > boxplot(bb~aa, data=nn) > lines(cc~aa, data=cc) > > Any help with example code is appreciated. > > Thank you. > > Lanre > > ______________________________________________ > R-help at stat.math.ethz.ch 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.confidentiality notice: The information contained in this e-mail is confidential and...{{dropped}}
This is very easy to do with ggplot: # you need to get the development version from http://had.co.nz/ggplot: install.packages("ggplot", dep=TRUE, repos="http://www.ggobi.org/r/") library(ggplot) qplot(a, factor(b), type=c("boxplot","point")) qplot(factor(b), a, type=c("boxplot","point")) Regards, Hadley On 8/1/06, Lanre Okusanya <lanre.okusanya at gmail.com> wrote:> my apologies about the initial bad sample code. Now assume I have > > a<-rnorm(6) > b<-rep(c(10,20),each=3) > ab<-data.frame(a,b) > > and I wanted to overlay this points on the graph? > > On 8/1/06, Petr Pikal <petr.pikal at precheza.cz> wrote: > > Hi > > > > your example code is not reproducible. > > > > On 1 Aug 2006 at 8:09, Lanre Okusanya wrote: > > > > Date sent: Tue, 1 Aug 2006 08:09:38 -0400 > > From: "Lanre Okusanya" <lanre.okusanya at gmail.com> > > To: R-help at stat.math.ethz.ch > > Subject: [R] Overlay Boxplot with scatter plot > > > > > I am trying to make a box plot and overlay it with a scatter plot from > > > another data.frame. I was able to successfully create the boxplot, but > > > when i tried using points(x~y...) the dots did not show up. > > > > > > example code > > > > > > aa<-(300,300,300,300,600,600,600,600,900,900,900,900) > > ^^^ missing c > > > bb<-(13,12,14,11,56,44,34,75,22.,34,22,98,59,55,56) > > > cc<-(13,12,14,11,56,44,34,75,22.,34,22,98,59,55,56) > > > nn<-data.frame(aa,bb) > > different length of aa and bb > > > > > mm<-data.frame(aa,cc) > > > boxplot(bb~aa, data=nn) > > > lines(cc~aa, data=cc) > > > > > > Any help with example code is appreciated. > > > > x<-rnorm(20) > > y<-rep(c(10,20),each=10) > > bbb<-boxplot(x~as.factor(y)) > > > > although it seems as boxes are drawn at 10, 20 they are not. > > Actually the x position of each box is located at > > > > - from help page - > > at numeric vector giving the locations where the boxplots should be > > drawn, particularly when add = TRUE; defaults to 1:n where n is the > > number of boxes. > > > > as you can clearly demonstrate by issuing > > > > points(1,0, cex=10) > > > > HTH > > Petr > > > > > > > > Thank you. > > > > > > Lanre > > > > > > ______________________________________________ > > > R-help at stat.math.ethz.ch 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. > > > > Petr Pikal > > petr.pikal at precheza.cz > > > > > > ______________________________________________ > R-help at stat.math.ethz.ch 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. >