[R] ggplot: dodge positions
John Kane
jrkrideau at inbox.com
Mon Jul 2 15:52:07 CEST 2012
Damn firewalls.
However as I see the graph, the points are lined up exactly on the centreline of each boxplot. So for example the lowest outlier on grp1 boxplot for A is exactlly where it should be at the end of the whisker. Real outliers for grp1 for D are exactly above the 'non-existant' whisker for that boxplot. So I looks to me as if in my version of the plot it is what you want.
Any change that I can email directly to you and get an attactment through?
John Kane
Kingston ON Canada
> -----Original Message-----
> From: thorn.thaler at rdls.nestle.com
> Sent: Mon, 2 Jul 2012 15:40:48 +0200
> To: jrkrideau at inbox.com, r-help at r-project.org
> Subject: RE: [R] ggplot: dodge positions
>
> Unfortunately I can't see your example as the page is blocked by our
> firewall. Anyways, if I try the dodge code, the points are shifted, yet
> they are all shifted by another offset. It makes that the green points
> for instance are indeed closer to the green boxplot, yet they are not
> aligned meaning that all green plots seem to have a different position on
> the x-axis, while all the green points for x == "A" should align exactly
> with "A". Am I clearer now?
>
> KR,
>
> -Thorn
>
>
>> -----Original Message-----
>> From: John Kane [mailto:jrkrideau at inbox.com]
>> Sent: Montag, 2. Juli 2012 15:21
>> To: Thaler,Thorn,LAUSANNE,Applied Mathematics; r-help at r-project.org
>> Subject: RE: [R] ggplot: dodge positions
>>
>> 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
>> Kingston ON Canada
>>
>>
>>> -----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
>>>> Kingston ON Canada
>>>>
>>>>
>>>>> -----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
>>>>
>>>> ____________________________________________________________
>>>> GET FREE SMILEYS FOR YOUR IM & EMAIL - Learn more at
>>>> http://www.inbox.com/smileys
>>>> Works with AIM®, MSN® Messenger, Yahoo!® Messenger, ICQ®, Google
>> Talk™
>>>> and most webmails
>>>>
>>>>
>>
>> ____________________________________________________________
>> GET FREE SMILEYS FOR YOUR IM & EMAIL - Learn more at
>> http://www.inbox.com/smileys
>> Works with AIM®, MSN® Messenger, Yahoo!® Messenger, ICQ®, Google Talk™
>> and most webmails
>>
>>
>
____________________________________________________________
GET FREE SMILEYS FOR YOUR IM & EMAIL - Learn more at http://www.inbox.com/smileys
Works with AIM®, MSN® Messenger, Yahoo!® Messenger, ICQ®, Google Talk™ and most webmails
More information about the R-help
mailing list