2012-07-13 14 views
5

Al trazar menos paneles que la cuadrícula completa se obtiene un espacio sin un panel. La mayoría de las funciones de celosía ubican el espacio en la parte superior derecha, pero me gustaría tenerlo en la esquina inferior derecha, como lo hace marginal.plot (ver la imagen). ¿Hay alguna manera de hacer que otras funciones de celosía hagan lo mismo?Control de la colocación de paneles de celosía vacíos

Example from the marignal.plot help page

sé el orden panel se decidió por el orden de los niveles de los factores de la variable acondicionado, o utilizando el argumento index.cond, pero eso no me ayuda aquí. He intentado descifrar el código de marginal.plot, pero no he podido descifrarlo, ¡así que cualquier ayuda es apreciada!

+0

Véase '' paquete grid.arrange' en gridExtra'?. –

+0

Interesante paquete. No es exactamente lo que tenía en mente esta vez, pero seguramente será útil si intento combinar gráficos de diferentes tipos, p. rejilla y celosía. – Backlin

Respuesta

3

La opción as.table=TRUE debería hacer esto para la mayoría de los gráficos de celosía rellenando primero la fila superior en lugar de la fila inferior.

+0

¡Yay! Sabía que no debería ser demasiado difícil, pero no podía resolverlo, ¡gracias! – Backlin

11

El argumento as.table= está realmente allí para permitir a los usuarios especificar la esquina desde la que comienza el tendido de paneles (es decir, arriba a la izquierda o abajo a la izquierda). Por lo tanto, le brinda un control limitado e incidental sobre dónde están y no se trazan los paneles.

Para un mayor control sobre la colocación del panel, utilice el argumento skip= (tal vez en concierto con as.table=TRUE):

# 'skip' plotting of the central panel. 
# Note: skip <- c(0,0,0,0,1,0,0,0,0) or even 'skip <- 1:9 %in% 5' would also work 
skip <- c(F,F,F,F,T,F,F,F,F) 
xyplot(lat ~ long | Depth, data = quakes, skip = skip, layout = c(3,3)) 

enter image description here

+0

¡Buena adición, gracias! – Aaron

Cuestiones relacionadas