one - multiple plots in r ggplot2
grid.arrange de gridExtras que sale con "only ''grobs'' permitido en ''gList''" despuĆ©s de la actualizaciĆ³n (1)
Es porque grid.arrange
ya no tiene un parámetro main
(parece haberse eliminado en el verano de 2015 con la versión 2.0.0) y por lo tanto cree que el parámetro main=
debe ser un grob. Para reemplazar el main
, puede usar el parámetro top
ahora (así como bottom
, left
y right
).
Entonces esto funciona, por ejemplo:
library(ggplot2)
p1 = qplot(1:10,rnorm(10))
p2 = qplot(1:10,rnorm(10))
library(gridExtra)
grid.arrange(p1, p2, ncol=2,top="Main Title")
El mensaje es un poco confuso, es porque tiene en cuenta todos los parámetros que no conoce y asume que pueden ser grobs
(objetos gráficos) que puede trazar. Un mensaje de error confuso como este es el precio que paga por esa flexibilidad.
Nota: si tiene muchos grobs
, debería considerar empacarlos todos en una lista y usar el formulario:
grid.arrange( grobs = list(p1,p2,...),...
Esto es lo que resulta en el código anterior:
Acabo de actualizar R, R Studio y un montón de paquetes que incluyen ggplot2 y gridExtras en mi Mac. Ahora gridExtras está fallando en el trazado básico con el error:
"solo ''grobs'' permitido en" gList ""
Aquí hay un código que debería funcionar pero no:
library(ggplot2)
p1 = qplot(1:10,rnorm(10))
p2 = qplot(1:10,rnorm(10))
library(gridExtra)
grid.arrange(p1, p2, ncol=2, main = "Main title")
Esto arroja el siguiente error:
Error in gList(list(grobs = list(list(x = 0.5, y = 0.5, width = 1, height = 1, :
only ''grobs'' allowed in "gList"
In addition: Warning message:
In grob$wrapvp <- vp : Coercing LHS to a list
¡Cualquier ayuda es apreciada!