From: hadley wickham <h.wickham_at_gmail.com>

Date: Wed, 27 Feb 2008 19:32:47 -0600

Date: Wed, 27 Feb 2008 19:32:47 -0600

> I noticed the coord flip problem during my ggplot investigations. Is this

*> something I can override by getting into the code?
*

The basic problem is all the geoms/stats in ggplot are based around the assumption that we are interested in Y | X, rather than X | Y. I don't think this is an unreasonable as it simplify much of the code and makes most common plots easier to specify. However, it is rather restrictive in your case - what you are trying to do make sense, but the parameterisation of the prebuild layers in ggplot makes it very difficult.

Alternatively, you could write your own versions of stat_boxplot and geom_boxplot (or stat_density and geom_area) that work in the opposite direction to usual. This probably isn't too hard if you just take the code and change x's to y's (and vice versa), but it's currently completely undocumented.

Hadley

> On the coord flipping problem I was thinking to grab the density data

*> explicitly, swap x and y and then plot as a scatter plot with a box plot
**> overlaid.
**>
**> Or perhaps just draw the density plots with vertical lines drawn at the
**> median, IQR etc
**>
**> Or perhaps draw the density plots and fake a boxplot by drawing bars
**> explicitly.
**>
**> I'm hoping you can at least advise which of any of these routes is likely to
**> be a dead end.
**>
**> regards
**>
**> Chris
**>
**>
**>
**>
**>
**>
**>
**> hadley wrote:
**> >
**> >> Now I think I understand want you want. I'm affraid that won't be easy
**> >> because you're trying to mix continuous variables with categorical ones
**> >> on the same scale. A density plot has two continuous scales: VALUE and
**> >> it's density. The boxplot has a continuous scale (VALUE) and the other
**> >> is categorical. Maybe Hadley knows a solution for your problem.
**> >
**> > Well one idea is:
**> >
**> > ggplot(diamonds, aes(x = price)) + geom_density(aes(min =
**> > -..density.., adjust= 0.5),fill="grey50", colour=NA) + facet_grid(. ~
**> > cut) + coord_flip()
**> >
**> > which looks like it would naturally fit with a boxplot overlaid on top
**> > of it. However, it's currently not possible because the boxplot is
**> > parameterised so that it is always horizontal, while the density is
**> > vertical - in the above example I have flipped the coordinate system,
**> > but that flips both density plot and boxplot.
**> >
**> > Hadly
**> >
**> > --
**> > http://had.co.nz/
**> >
**> >
**>
**> --
**> View this message in context: http://www.nabble.com/ggplot2-boxplot-confusion-tp15706116p15725753.html
**>
**>
**> Sent from the R help mailing list archive at Nabble.com.
**>
**> ______________________________________________
**> R-help_at_r-project.org 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.
**>
*

-- http://had.co.nz/ ______________________________________________ R-help_at_r-project.org 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.Received on Thu 28 Feb 2008 - 01:39:01 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Thu 28 Feb 2008 - 05:30:17 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*