[R] ggplot: dodge positions

John Kane jrkrideau at inbox.com
Mon Jul 2 15:20:43 CEST 2012

```I don't think I was clear. Sorry.  What I was refering to was the

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

which is giving me http://www.mediafire.com/i/?fdurpq6e6l8cu35 which was what I though you want.

I have no idea how the x axis points on the boxplot are  determined.  It may be relatively clear in the code but I don't really have the knowledge to ferret it out.

Sorry that I cannot be of more help.

John Kane

> -----Original Message-----
> From: thorn.thaler at rdls.nestle.com
> Sent: Mon, 2 Jul 2012 15:10:33 +0200
> To: jrkrideau at inbox.com, r-help at r-project.org
> Subject: RE: [R] ggplot: dodge positions
>
> I guess it works with ggplot but not with ggplot2. I'm using only the
> latter but had a typo in my first post. So the code (which does not do
> what I want) is:
>
> library(ggplot2)
> 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()
>
> Thinking of it, I would need to find out which offset ggplot uses to
> dodge the nested factors. If I knew the exact quantity, I could do
> something like
>
> geom_point(aes(x = offset.used.by.geom_boxplot))
>
> So how are the exact positions on the x-axis for geom_boxplot determined?
> Any ideas?
>
> Thanks for the help, anyways.
>
> KR,
>
> -Thorn
>
>
>> -----Original Message-----
>> From: John Kane [mailto:jrkrideau at inbox.com]
>> Sent: Montag, 2. Juli 2012 15:04
>> To: Thaler,Thorn,LAUSANNE,Applied Mathematics; r-help at r-project.org
>> Subject: RE: [R] ggplot: dodge positions
>>
>> Can you expand a bit on what is wrong with the dodge option?  From what
>> I see it looks lovely witht the points exactly lined with the boxplots
>> for each group but perhaps I don't understand exactly what you want .
>>
>>
>>
>> John Kane
>>
>>
>>> -----Original Message-----
>>> From: thorn.thaler at rdls.nestle.com
>>> Sent: Mon, 2 Jul 2012 11:43:03 +0200
>>> To: r-help at r-project.org
>>> Subject: [R] ggplot: dodge positions
>>>
>>> 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:
>>>
>>> library(ggplot)
>>> 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
>>> Mathematician
>>>
>>> Applied Mathematics
>>> Nestec Ltd,
>>> Nestlé Research Center
>>> PO Box 44
>>> CH-1000 Lausanne 26
>>> Phone: +41 21 785 8220
>>> Fax: +41 21 785 9486
>>
>> ____________________________________________________________
>> http://www.inbox.com/smileys
>> Works with AIM®, MSN® Messenger, Yahoo!® Messenger, ICQ®, Google Talk™
>> and most webmails
>>
>>

____________________________________________________________