Re: [R] Setting scales for ggplot2 with facets
Hi Sven, Not sure if you're still having this problem, but I was as well and googled into your post. I didn't find a great answer either, but the workaround I'm using is some dummy points or lines with alpha=0 so they don't show up (ie geom_hline(yintercept=0, alpha=0)). I suppose the same could be added to your dataset and plotted as another layer. Tom Sven Laur wrote: Sorry, I was too vague in my initial question. To make it clearer I included the following example: tmp - data.frame(y=runif(10), x=gl(2,5), class=gl(2,5)) p - ggplot(data = tmp) p - p + geom_point(aes(y=y, x=x)) p - p + facet_wrap(~ class, scales = free) p - p + ylim(0, 1) p This code draws two facets each having 5 points. As explained before, I would like to control y-range of both facet plots. For clarity, say that ylim = c(0, 0.5) for the facet 1 and ylim = c(0.5, 3) for the facet 2. How should I do it? As a quick hack I could, eliminate outliers for both facets, i.e. write lines tmp - cbind(subset(tmp, class == 1 y = 0.5), subset(tmp, class == 2 y = 0.5)) before plotting but this would work only for simple geometrics. For geom_boxplot it would skew the distribution. Swen Laur [[alternative HTML version deleted]] __ R-help@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. -- View this message in context: http://r.789695.n4.nabble.com/Setting-scales-for-ggplot2-with-facets-tp2535910p3621914.html Sent from the R help mailing list archive at Nabble.com. __ R-help@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.
Re: [R] Setting scales for ggplot2 with facets
Sorry, I was too vague in my initial question. To make it clearer I included the following example: tmp - data.frame(y=runif(10), x=gl(2,5), class=gl(2,5)) p - ggplot(data = tmp) p - p + geom_point(aes(y=y, x=x)) p - p + facet_wrap(~ class, scales = free) p - p + ylim(0, 1) p This code draws two facets each having 5 points. As explained before, I would like to control y-range of both facet plots. For clarity, say that ylim = c(0, 0.5) for the facet 1 and ylim = c(0.5, 3) for the facet 2. How should I do it? As a quick hack I could, eliminate outliers for both facets, i.e. write lines tmp - cbind(subset(tmp, class == 1 y = 0.5), subset(tmp, class == 2 y = 0.5)) before plotting but this would work only for simple geometrics. For geom_boxplot it would skew the distribution. Swen Laur [[alternative HTML version deleted]] __ R-help@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.
[R] Setting scales for ggplot2 with facets
Faceting in ggplot2 seems to permit different scales for different facets, but I fail to see how one could control ylim and xlim ranges for each facet separately. For instance, I would like to set the ylim = c(0,10) for facet A and ylim = c(42,102) for facet B. Since the data is out of these ranges, setting facet_grid(factor ~ ., scales = free_y) does not achieve the goal . Is there a decent way to achieve this or not? or I have to drop data points outside y-ranges as a quick hack? Swen Laur __ R-help@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.
Re: [R] Setting scales for ggplot2 with facets
Swen, facet_grid forces the scale for plots along an axis to be shared. Try facet_wrap instead. Jonathan On Sat, Sep 11, 2010 at 2:21 PM, Sven Laur s...@math.ut.ee wrote: Faceting in ggplot2 seems to permit different scales for different facets, but I fail to see how one could control ylim and xlim ranges for each facet separately. For instance, I would like to set the ylim = c(0,10) for facet A and ylim = c(42,102) for facet B. Since the data is out of these ranges, setting facet_grid(factor ~ ., scales = free_y) does not achieve the goal . Is there a decent way to achieve this or not? or I have to drop data points outside y-ranges as a quick hack? Swen Laur __ R-help@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. [[alternative HTML version deleted]] __ R-help@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.
Re: [R] Setting scales for ggplot2 with facets
This does not solve the problem, as I still do not know how to control the y-range for individual facets. Data contains some outliers which make the y-range too wide for me and I would explicitly set the ylim = c(0,10) for facet A and ylim = c(42, 102) for facet B. How should I do it? On 11 Sep 2010, at 23:37, Jonathan Christensen wrote: Swen, facet_grid forces the scale for plots along an axis to be shared. Try facet_wrap instead. Jonathan On Sat, Sep 11, 2010 at 2:21 PM, Sven Laur s...@math.ut.ee wrote: Faceting in ggplot2 seems to permit different scales for different facets, but I fail to see how one could control ylim and xlim ranges for each facet separately. For instance, I would like to set the ylim = c(0,10) for facet A and ylim = c(42,102) for facet B. Since the data is out of these ranges, setting facet_grid(factor ~ ., scales = free_y) does not achieve the goal . Is there a decent way to achieve this or not? or I have to drop data points outside y-ranges as a quick hack? Swen Laur __ R-help@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. Swen Laur [[alternative HTML version deleted]] __ R-help@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.
Re: [R] Setting scales for ggplot2 with facets
Use scales = 'free' in facet_wrap() to vary both scales across panels. From Ch. 7 of the ggplot2 book, the options are (in either type of faceting) scales = 'fixed' = both x and y scales are fixed in all plots scales = 'free_x'= fix y scale, vary x scale across panels scales = 'free_y'= fix x scale, vary y scale scales = 'free'= vary both HTH, Dennis On Sat, Sep 11, 2010 at 2:17 PM, Sven Laur s...@math.ut.ee wrote: This does not solve the problem, as I still do not know how to control the y-range for individual facets. Data contains some outliers which make the y-range too wide for me and I would explicitly set the ylim = c(0,10) for facet A and ylim = c(42, 102) for facet B. How should I do it? On 11 Sep 2010, at 23:37, Jonathan Christensen wrote: Swen, facet_grid forces the scale for plots along an axis to be shared. Try facet_wrap instead. Jonathan On Sat, Sep 11, 2010 at 2:21 PM, Sven Laur s...@math.ut.ee wrote: Faceting in ggplot2 seems to permit different scales for different facets, but I fail to see how one could control ylim and xlim ranges for each facet separately. For instance, I would like to set the ylim = c(0,10) for facet A and ylim = c(42,102) for facet B. Since the data is out of these ranges, setting facet_grid(factor ~ ., scales = free_y) does not achieve the goal . Is there a decent way to achieve this or not? or I have to drop data points outside y-ranges as a quick hack? Swen Laur __ R-help@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. Swen Laur [[alternative HTML version deleted]] __ R-help@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. [[alternative HTML version deleted]] __ R-help@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.