grilla ggplot abline r plot r-grid

ggplot - plot grid matlab



¿Cómo usar las gráficas base R en grid.newpage? (1)

¿Es posible "forzar" parcelas de base R en grid.newpage ? Por ejemplo, esto funciona bien:

library(grid) grid.newpage() vp1 <- viewport(x=0,y=0.5,width=0.5, height=0.5, just = c("left", "bottom")) vp2 <- viewport(x=0.5,y=0,width=0.5, height=0.5, just = c("left", "bottom")) pushViewport(vp1) grid.rect() grid.text("vp1", 0.5, 0.5) upViewport() pushViewport(vp2) grid.rect() grid.text("vp2", 0.5, 0.5)

.

Pero si pruebo algo como esto:

grid.newpage() vp1 <- viewport(x=0,y=0.5,width=0.5, height=0.5, just = c("left", "bottom")) vp2 <- viewport(x=0.5,y=0,width=0.5, height=0.5, just = c("left", "bottom")) pushViewport(vp1) grid.rect() print(plot(1,2)) grid.text("vp1", 0.5, 0.5) upViewport() pushViewport(vp2) grid.rect() print(plot(1,2))

La gráfica base R simplemente sobrepasa la página grid.newpage . Usar par(new=T) tampoco ayuda.


Como nadie respondió esto, lo haré yo mismo. Como dijo Andrie, la respuesta a esta pregunta está aquí . Necesitará la función gridFIG() del paquete gridBase para trazar gráficos de base R en plot.new() lugar de grid.newpage() :

library(grid) library(gridBase) plot.new() vp1 <- viewport(x=0,y=0.5,width=0.5, height=0.5, just = c("left", "bottom")) vp2 <- viewport(x=0.5,y=0,width=0.5, height=0.5, just = c("left", "bottom")) pushViewport(vp1) grid.rect() grid.text("vp1", 0.5, 0.5) par(new=TRUE, fig=gridFIG()) plot(1,2) upViewport() pushViewport(vp2) grid.rect() grid.text("vp2", 0.5, 0.5) par(new=TRUE, fig=gridFIG()) plot(1,2)