[R] ggplot: dodge positions

Thaler,Thorn,LAUSANNE,Applied Mathematics Thorn.Thaler at rdls.nestle.com
Mon Jul 2 11:43:03 CEST 2012

Dear all,

I want to get a series of boxplots (grouped by two factors) and I want to overlay the original observations and the following code does almost what I want:

ddf <- data.frame(x=factor(rep(LETTERS[1:4], each=30)), y = runif(120,0,10), grp = factor(rep(rep(1:3, 10), 4)))
ggplot(ddf, aes(x, y, colour=grp)) + geom_boxplot() + geom_point()

Yet the position of the points and the position of the boxes on the x-axis is not the same. I would like that the points are shifted accordingly, such that they line up with the boxplots. I tried position_dodge:

ggplot(ddf, aes(x, y, colour=grp)) + geom_boxplot() + geom_point(aes(ymax=max(y)), position = position_dodge(width=.75))

but that did not really help, as all points are now dodged and I just want to have a fixed offset for each subgroup of points such that the boxplot and the points are aligned. Any ideas?

Kind Regards,

Thorn Thaler

Applied Mathematics 
Nestec Ltd,
Nestlé Research Center
PO Box 44 
CH-1000 Lausanne 26
Phone: +41 21 785 8220
Fax: +41 21 785 9486

More information about the R-help mailing list