Esto es fácil de hacer una vez que lea ?print.trellis
. De particular interés es el parámetro split
. Puede parecer complicado a primera vista, pero es bastante sencillo una vez que comprenda lo que significa. De la documentación:
dividida: un vector de 4 números enteros, C (x, y, nx, ny), que dice a la posición de la trama actual en la posición X, Y en una matriz regular de nx por ny parcelas.(Nota: esto tiene origen en la parte superior izquierda)
Se puede ver un par de implementaciones en example(print.trellis)
, pero aquí hay uno que prefiero:
library(lattice)
# Data
w <- as.matrix(dist(Loblolly))
x <- as.matrix(dist(HairEyeColor))
y <- as.matrix(dist(rock))
z <- as.matrix(dist(women))
# Plot assignments
pw <- levelplot(w, scales = list(draw = FALSE)) # "scales..." removes axes
px <- levelplot(x, scales = list(draw = FALSE))
py <- levelplot(y, scales = list(draw = FALSE))
pz <- levelplot(z, scales = list(draw = FALSE))
# Plot prints
print(pw, split = c(1, 1, 2, 2), more = TRUE)
print(px, split = c(2, 1, 2, 2), more = TRUE)
print(py, split = c(1, 2, 2, 2), more = TRUE)
print(pz, split = c(2, 2, 2, 2), more = FALSE) # more = FALSE is redundant
El código anterior le da esta figura:
Como puede ver, split
toma cuatro parámetros. El dos últimos se refieren al tamaño de su marco (similar a lo que mfrow
hace), mientras que la primera posición dos parámetros su diagrama en el nx
por ny
marco.
Los diagramas de 'celosía' no usan la configuración 'par' en general. Tienen su propio conjunto de configuraciones de los gráficos de Grid. Ver '? Trellis.par.get' para una explicación. – James