120 lines
4.1 KiB
R
120 lines
4.1 KiB
R
### R code from vignette source 'grid.Rnw'
|
|
|
|
###################################################
|
|
### code chunk number 1: grid.Rnw:33-34
|
|
###################################################
|
|
library(grid)
|
|
|
|
|
|
###################################################
|
|
### code chunk number 2: grid.Rnw:43-44
|
|
###################################################
|
|
library(lattice)
|
|
|
|
|
|
###################################################
|
|
### code chunk number 3: trellisdata (eval = FALSE)
|
|
###################################################
|
|
## x <- rnorm(100)
|
|
## y <- rnorm(100)
|
|
## g <- sample(1:8, 100, replace = TRUE)
|
|
|
|
|
|
###################################################
|
|
### code chunk number 4: trellispanelplot (eval = FALSE)
|
|
###################################################
|
|
## xyplot(y ~ x | g, panel = function(x, y) {
|
|
## panel.xyplot(x, y);
|
|
## grid.lines(unit(c(0, 1), "npc"), unit(0, "native"),
|
|
## gp = gpar(col = "grey"))
|
|
## })
|
|
|
|
|
|
###################################################
|
|
### code chunk number 5: trellispanel
|
|
###################################################
|
|
x <- rnorm(100)
|
|
y <- rnorm(100)
|
|
g <- sample(1:8, 100, replace = TRUE)
|
|
xyplot(y ~ x | g, panel = function(x, y) {
|
|
panel.xyplot(x, y);
|
|
grid.lines(unit(c(0, 1), "npc"), unit(0, "native"),
|
|
gp = gpar(col = "grey"))
|
|
})
|
|
|
|
|
|
###################################################
|
|
### code chunk number 6: trellisstripplot (eval = FALSE)
|
|
###################################################
|
|
## xyplot(y ~ x | g, strip = function(which.given, which.panel, ...) {
|
|
## grid.rect()
|
|
## grid.text(paste("Variable ", which.given, ": Level ",
|
|
## which.panel[which.given], sep = ""),
|
|
## unit(1, "mm"), .5, just = "left")
|
|
## })
|
|
|
|
|
|
###################################################
|
|
### code chunk number 7: trellisstrip
|
|
###################################################
|
|
x <- rnorm(100)
|
|
y <- rnorm(100)
|
|
g <- sample(1:8, 100, replace = TRUE)
|
|
xyplot(y ~ x | g, strip = function(which.given, which.panel, ...) {
|
|
grid.rect()
|
|
grid.text(paste("Variable ", which.given, ": Level ",
|
|
which.panel[which.given], sep = ""),
|
|
unit(1, "mm"), .5, just = "left")
|
|
})
|
|
|
|
|
|
###################################################
|
|
### code chunk number 8: trellisgridplot (eval = FALSE)
|
|
###################################################
|
|
## someText <- paste("A panel of text", "produced using", "raw grid code",
|
|
## "that could be used", "to describe",
|
|
## "the plot", "to the right.", sep = "\n")
|
|
## latticePlot <- xyplot(y ~ x | g, layout = c(2, 4))
|
|
## grid.rect(gp = gpar(lty = "dashed"))
|
|
## pushViewport(viewport(layout = grid.layout(1, 2,
|
|
## widths = unit.c(unit(1, "strwidth", someText) +
|
|
## unit(2, "cm"),
|
|
## unit(1, "null")))))
|
|
## pushViewport(viewport(layout.pos.col = 1))
|
|
## grid.rect(gp = gpar(fill = "light grey"))
|
|
## grid.text(someText,
|
|
## x = unit(1, "cm"), y = unit(1, "npc") - unit(1, "inches"),
|
|
## just = c("left", "top"))
|
|
## popViewport()
|
|
## pushViewport(viewport(layout.pos.col = 2))
|
|
## print(latticePlot, newpage = FALSE)
|
|
## popViewport(2)
|
|
|
|
|
|
###################################################
|
|
### code chunk number 9: trellisgrid
|
|
###################################################
|
|
x <- rnorm(100)
|
|
y <- rnorm(100)
|
|
g <- sample(1:8, 100, replace = TRUE)
|
|
someText <- paste("A panel of text", "produced using", "raw grid code",
|
|
"that could be used", "to describe",
|
|
"the plot", "to the right.", sep = "\n")
|
|
latticePlot <- xyplot(y ~ x | g, layout = c(2, 4))
|
|
grid.rect(gp = gpar(lty = "dashed"))
|
|
pushViewport(viewport(layout = grid.layout(1, 2,
|
|
widths = unit.c(unit(1, "strwidth", someText) +
|
|
unit(2, "cm"),
|
|
unit(1, "null")))))
|
|
pushViewport(viewport(layout.pos.col = 1))
|
|
grid.rect(gp = gpar(fill = "light grey"))
|
|
grid.text(someText,
|
|
x = unit(1, "cm"), y = unit(1, "npc") - unit(1, "inches"),
|
|
just = c("left", "top"))
|
|
popViewport()
|
|
pushViewport(viewport(layout.pos.col = 2))
|
|
print(latticePlot, newpage = FALSE)
|
|
popViewport(2)
|
|
|
|
|