[R] Plotting multiple xyplots in same page

Pascal Oettli kridox at ymail.com
Thu Feb 14 05:58:03 CET 2013


Hello,

Herewith is one approach:

grid1 <- rbind(OrchardSprays, OrchardSprays, OrchardSprays, 
OrchardSprays, OrchardSprays, OrchardSprays)

grid1$category <- rep(c('A','B','C','D','E','F'), each=nrow(OrchardSprays))

trellis.par.set(theme = col.whitebg())
xy <- xyplot(decrease ~ treatment | category, grid1, groups = rowpos, 
type = "a", layout=c(3,2), auto.key = list(x = 0, y = 0.9, cex = 0.52, 
points = FALSE, lines = TRUE), scales=list(x=list(alternating=1), 
y=list(alternating=1)))

xy$x.between <- 1
xy$y.between <- 1
print(xy)

HTH,
Pascal


Le 14/02/2013 08:10, Lisa Daniel a écrit :
> Dear Rhelp,
>
> I was able to plot 6 figures in one page.  I do need help in reducing the space between the title and the plot and assigning A,B,C,D,E,F to each figure
> library(lattice)
> trellis.par.set(theme = col.whitebg())
> xy <- xyplot(decrease ~ treatment, OrchardSprays,
>          main="Some plot",
>                groups = rowpos, type = "a",
>                auto.key = list(x = 0.2, y = 0.9,
>                  cex = 0.52, points = FALSE, lines = TRUE))
>
>
> print(xy, pos = c(0.0, 0.5, 0.33, 1.0), more = TRUE)
> print(xy, pos = c(0.33, 0.5, 0.66, 1.0), more = TRUE)
> print(xy, pos = c(0.66, 0.5, 0.99, 1.0), more = TRUE)
> print(xy, pos = c(0.0, 0.0, 0.33, 0.5), more = TRUE)
> print(xy, pos = c(0.33, 0.0, 0.66, 0.5), more = TRUE)
> print(xy, pos = c(0.66, 0.0, 0.99, 0.5), more = FALSE)
>
> Thanks in advance,
> Lisa
>
>
>
> ----- Original Message -----
> From: Lisa Daniel <lisadaniel2013 at yahoo.com>
> To: "r-help at r-project.org" <r-help at r-project.org>
> Cc:
> Sent: Wednesday, February 13, 2013 5:28 PM
> Subject: Plotting multiple xyplots in same page
>
> Dear Rhelp,
>
> I would like to have 6 xyplots in the same page.  Similar to (par(mfrow=c(3,3))
> Found this example on the R archives.
> library(lattice)
> trellis.par.set(theme = col.whitebg())
> xy <- xyplot(decrease ~ treatment, OrchardSprays,
>                groups = rowpos, type = "a",
>                auto.key = list(x = 0.2, y = 0.9,
>                  cex = 0.75, points = FALSE, lines = TRUE))
>
> print(xy, pos = c(0.0, 0.0, 0.5, 0.5), more = TRUE)
> print(xy, pos = c(0.0, 0.5, 0.5, 1.0), more = TRUE)
> print(xy, pos = c(0.5, 0.0, 1.0, 0.5), more = TRUE)
> print(xy, pos = c(0.5, 0.5, 1.0, 1.0), more = FALSE)
>
>
>
>
> When I changed the print() to:
>
>   print(xy, pos=c(0.0,0.0,0.33,0.33),more = TRUE),
> the figure was not looking good.
>
> Also, is it possible to assign A, B, C,D, etc for each figure.
>
>
>
> a<- rnorm(1000,0,1)
> b<- rnorm(1000,0,2)
> c<- rnorm(1000,0,3)
> d<- rnorm(1000,0,4)
> par(mfrow=c(2,2))
> hist(a,main="")
> title(main="A",adj=0)
> hist(b,main="")
> title(main="B",adj=0)
> hist(c,main="")
> title(main="C",adj=0)
> hist(d,main="")
> title(main="D",adj=0)
>
>
> I tried this to xyplot, but it was not working.
>
> Please help me.
>
> Many thanks in advance,
> Lisa.
>
>
> ______________________________________________
> 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.
>



More information about the R-help mailing list