From: Deepayan Sarkar <deepayan.sarkar_at_gmail.com>

Date: Wed, 30 Jan 2008 12:44:50 -0800

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 Jan 2008 - 20:48:12 GMT

Date: Wed, 30 Jan 2008 12:44:50 -0800

On 1/30/08, eite2335 <jeitel_at_vandals.uidaho.edu> wrote:

*>
*

> OK, this was a silly example.

*>
**> This one should be not as silly:
**>
**> ## Created example dataset
**>
**> data1 = matrix(1:12, nrow=4, ncol=3)
**>
**> data1 = data.frame(matrix(data1, 4, 3, byrow = T))
**>
**> colnames(data1) = c("y1", "y2","x")
**>
**> data2 = data.frame(c(1,1,2,2))
**>
**> colnames(data2) =c("z")
**>
**> data = cbind(data1,data2)
**>
**> load(lattice)
**>
**> ## Create 2 graphs with the xyplot command
**>
**> graph1= xyplot(y1~x|z, data = data)
**> graph2 = xyplot(y2~x|z, data = data)
**>
**>
**> ## Print both graphs on the same page
**>
**> print(graph1, split = c(1,1,1,2), more = T)
**> print(graph2, split = c(1,2,1,2), more = F)
**>
**> ## There is a lot of white space between both graphs in the y direction.
**> ## Since the plots share the same x axis I was wondering if there is a way
**> to
**> ## concatenate the plots to eliminate the white space in the y direction?
*

xyplot(y1 + y2 ~ x | z, data = data, outer = TRUE)

or to allow different y-axes and a common x-axis,

xyplot(y1 + y2 ~ x | z, data = data, outer = TRUE,

scales = list(y = list(relation = "free", rot = 0)))

There are of course many other customizations possible.

If you want a common y-axis for each row, but a different one for different rows, that's a bit harder (though not impossible).

-Deepayan

> Deepayan Sarkar wrote:

*> >
**> > On 1/30/08, eite2335 <jeitel_at_vandals.uidaho.edu> wrote:
**> >>
**> >> OK - here is an example:
**> >>
**> >> ## Create example data
**> >>
**> >> data = matrix(1:8, nrow=4, ncol=2)
**> >>
**> >> ## Name columns "x" and "y"
**> >>
**> >> colnames(data) = c("x", "y")
**> >>
**> >> data = data.frame(data)
**> >>
**> >> ## Create 5 graphs with the xyplot command
**> >>
**> >> graph1= xyplot(y~x, data = data)
**> >> graph2 = xyplot(y~x, data = data)
**> >> graph3 = xyplot(y~x, data = data)
**> >> graph4 = xyplot(y~x, data = data)
**> >> graph5 = xyplot(y~x, data = data)
**> >>
**> >> ## Print all five graphs on the same page
**> >>
**> >> print(graph1, split = c(1,1,1,5), more = T)
**> >> print(graph2, split = c(1,2,1,5), more = T)
**> >> print(graph3, split = c(1,3,1,5), more = T)
**> >> print(graph4, split = c(1,4,1,5), more = T)
**> >> print(graph5, split = c(1,5,1,5), more = F)
**> >>
**> >>
**> >> ## Note that there is a lot of white space between each graph in the y
**> >> direction.
**> >> ## Since the plots share the same x axis I was wondering if there is a
**> >> way
**> >> to
**> >> ## concatenate the plots to eliminate the "wasted" white space in the y
**> >> direction
**> >> ## and make the graphs themselves larger?
**> >
**> > This should work:
**> >
**> > graph1[c(1, 1, 1, 1, 1)]
**> >
**> > Of course, a silly example will only get you a silly solution.
**> >
**> > -Deepayan
*

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 Jan 2008 - 20:48:12 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 Jan 2008 - 21:30:09 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.
*