From: Ista Zahn <izahn_at_psych.rochester.edu>

Date: Wed, 30 Mar 2011 11:35:18 -0400

Date: Wed, 30 Mar 2011 11:35:18 -0400

On Wed, Mar 30, 2011 at 10:54 AM, Werner Heijstek <w.heijstek_at_gmail.com> wrote:

> I'm going to go ahead and shamelessly bump this question up the list.

*> I saw that out of the 34 posts yesterday, only 9 did not receive an
**> answer. Perhaps someone who finds this question trivial is checking
**> his e-mail right now :)
**>
**> Werner
**>
**> On Tue, Mar 29, 2011 at 10:20 AM, jovian <w.heijstek_at_gmail.com> wrote:
**>> Hello,
**>>
**>> I asked a similar question before but in an existing thread. I am not sure
**>> if it is proper etiquette to repost a similar question as a new tread, I
**>> think in this case, it might be because this way more people can see it and
**>> perhaps learn from it. (Also, part of the existing thread became private)
**>>
**>> I want to know how to plot multiple ggplot area plots on top of one another
**>> so that the same x-axis is shared?
**>>
**>> This solution simply stitches multiple plots on top of each other:
**>>
**>> vp.layout <- function(x, y) viewport(layout.pos.row=x, layout.pos.col=y)
**>> arrange <- function(..., nrow=NULL, ncol=NULL, as.table=FALSE) {
**>> dots <- list(...)
**>> n <- length(dots)
**>> if(is.null(nrow) & is.null(ncol)) { nrow = floor(n/2) ; ncol =
**>> ceiling(n/nrow)}
**>> if(is.null(nrow)) { nrow = ceiling(n/ncol)}
**>> if(is.null(ncol)) { ncol = ceiling(n/nrow)}
**>> ## NOTE see n2mfrow in grDevices for possible alternative
**>> grid.newpage()
**>> pushViewport(viewport(layout=grid.layout(nrow,ncol) ) )
**>> ii.p <- 1
**>> for(ii.row in seq(1, nrow)){
**>> ii.table.row <- ii.row
**>> if(as.table) {ii.table.row <- nrow - ii.table.row + 1}
**>> for(ii.col in seq(1, ncol)){
**>> ii.table <- ii.p
**>> if(ii.p > n) break
**>> print(dots[[ii.table]], vp=vp.layout(ii.table.row, ii.col))
**>> ii.p <- ii.p + 1
**>> }
**>> }
**>> }
**>>
**>> set <- read.table(file="http://www.jovian.nl/set.csv", head=1, sep=",")
**>> set2 <- read.table(file="http://www.jovian.nl/set2.csv", head=1, sep=",")
**>> library(ggplot2)
**>> s <- ggplot(set, aes(x = time, y = hours)) + geom_area(colour = 'red', fill
**>> = 'red', alpha = 0.5) +
**>> geom_area(stat = 'smooth', span = 0.2, alpha = 0.3) + ylim(0,40)
**>> s1 <- ggplot(set2, aes(x = time, y = hours)) + geom_area(colour = 'red',
**>> fill = 'red', alpha = 0.5) +
**>> geom_area(stat = 'smooth', span = 0.2, alpha = 0.3) + ylim(0,40)
**>> arrange(s,s1,ncol=1)
**>>
**>>
**>> The arrange() function was taken from
**>> http://gettinggeneticsdone.blogspot.com/2010/03/arrange-multiple-ggplot2-plots-in-same.html.
**>> In this example, the x-axes are only similar because the data sets have the
**>> same range. In effect nothing more happens than that two images are plotted
**>> on top of one another. Now how to "merge" these two (and later more) area
**>> plots on top of each other so that they share the same x-axis (so that only
**>> one x-axis would be necessary on the bottom of the plot)?
**>>
**>> Thanks,
**>>
**>> Werner
**>>
**>>
**>> --
**>> View this message in context: http://r.789695.n4.nabble.com/Multiple-area-plots-to-share-the-same-x-axis-tp3414050p3414050.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.
**>>
**>
**> ______________________________________________
**> 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.
**>
*

-- Ista Zahn Graduate student University of Rochester Department of Clinical and Social Psychology http://yourpsyche.org ______________________________________________ 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 Wed 30 Mar 2011 - 15:43:16 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 Wed 30 Mar 2011 - 22:50:25 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.
*