[R] Boxplots over a Scatterplot
Michael Friendly
friendly at yorku.ca
Thu Jul 8 05:30:12 CEST 2010
Try scatterplot() in the car package. It draws boxplots for X & Y in
the margins, auto scaled to the axes
fsch wrote:
> Hello-
>
> I'm new to R, coding and stats. (Oh no.)
> Anyway, I have about 12000 data points in a data.frame (dealing with
> dimensions and geological stage information for fossil protists) and have
> plotted them in a basic scatter plot. I also added a boxplot to overlay
> these points. Each worked fine independently, but when I attempt to
> superimpose them with add=true, I get a different scale for the boxplot,
> which results in it being shifted back to the left relative to the scatter
> plot. How do I force the boxplot to use the scatterplot's scale or something
> to that effect?
>
> My code. I'm not sure how to include the file I'm using as a dataframe:
>
> #imports data
>
> emdata<-read.table(file="#a file in my working directory", sep=",",
> header=T)
>
> #specifies a dataframe
>
> foram<-data.frame(emdata)
>
> #calculates actual dimensions in mm
>
> foram$actual_l<-foram$length/foram$magnification
> foram$actual_w<-foram$width/foram$magnification
> foram$actual_h<-foram$height/foram$magnification
>
> #takes logs of all dimensions
>
> foram$logl<-log10(foram$actual_l)
> foram$logw<-log10(foram$actual_w)
> foram$logh<-log10(foram$actual_h)
>
> #Generates scatterplot
>
> plot(foram$stage,
> foram$logl,
> ylab="log max size",
> xlab="stage",
> cex=.1,
> xaxt="n",
> axes=FALSE
> )
>
>
> axis(at=-3:1, side=2, pos=0)
>
> axis(at=9:84, side=1, pos=-3)
>
> #adds a boxplot
>
> boxplot(foram$logl~foram$stage, data=foram,
> outline=F, axes=FALSE, add=TRUE, col="gray82", medlwd=1)
>
>
More information about the R-help
mailing list