2012-05-27 9 views
9

estoy usando el paquete de cuadrícula para mostrar un conjunto de parcelas de esta manera:R: el título Red diseño

layout <- grid.layout(2, 4) 
pushViewport(viewport(layout = layout)) 
# print various plots 

¿Hay alguna manera de especificar un título para todo el diseño rejilla?

Respuesta

14

ejemplo simulada basada en una similar, de modo pregunta: Place title of multiplot panel with ggplot2

  1. En primer lugar crear un diseño con el número necesario de filas + 1 se corta por el título:

    pushViewport(viewport(layout = grid.layout(3, 2, heights = unit(c(0.5, 5, 5), "null")))) 
    
  2. crear algunas parcelas no :

    print(ggplot(mtcars, aes(hp)) + geom_histogram(), vp = viewport(layout.pos.row = 2, layout.pos.col = 1:2)) 
    print(ggplot(mtcars, aes(wt)) + geom_histogram(), vp = viewport(layout.pos.row = 3, layout.pos.col = 1)) 
    print(ggplot(mtcars, aes(mpg)) + geom_histogram(), vp = viewport(layout.pos.row = 3, layout.pos.col = 2)) 
    
  3. Añade un título en la parte superior ro w:

    grid.text("MAIN TITLE", vp = viewport(layout.pos.row = 1, layout.pos.col = 1:2)) 
    

Resultando en:

enter image description here

+0

mediante un gráfico de base es un poco confuso; particularmente porque no respeta el diseño. – baptiste

+0

Muchas gracias @baptiste, he actualizado mi respuesta en función de su guía (y '+ 1' por su respuesta y gran paquete). – daroczig

+0

El problema con este enfoque es que el título se escala con los gráficos. Sin embargo, me gustaría que el título tenga una altura constante a medida que se cambia el tamaño de la ventana o cuando imprimo en PDF. – nccc

11

Otra forma:

library(gridExtra) 
g = rectGrob() # dummy "plot" 
grid.arrange(g, g, g, g, ncol=2, top = "Main Title") 
Cuestiones relacionadas