type plots multiples ggplot r plot lattice

plots - Incrustar una trama en miniatura dentro de una trama



plot properties r (3)

Echa un vistazo al paquete Teaching Demos package TeachingDemos package - y la función subplot() También podría funcionar en la red, no lo he probado.

¿Alguien sabe de una manera general de incrustar parcelas en otras parcelas para producir algo como la maqueta de abajo?

Sé que en celosía puede hacerlo con print(..., more=TRUE, positions=...) como se explica en esta pregunta , y creo que ggplot también tiene una solución (pero no soy muy bueno). con ggplot). El problema es que quiero incrustar una gráfica regular del paquete de supervivencia que use el paquete de gráficos estándar en una gráfica de celosía.

¡Gracias por adelantado!


Puede probar el paquete gridBase, que proporciona alguna funcionalidad para la integración de gráficos basados ​​en cuadrícula y base (incluyendo celosía y ggplot2). El siguiente ejemplo incluye una gráfica de base en una gráfica de celosía.

library(lattice) library(gridBase) library(grid) plot.new() pushViewport(viewport()) xvars <- rnorm(25) yvars <- rnorm(25) xyplot(yvars~xvars) pushViewport(viewport(x=.6,y=.8,width=.25,height=.25,just=c("left","top"))) grid.rect() par(plt = gridPLT(), new=TRUE) plot(xvars,yvars) popViewport(2)

Más detalles aquí: casoilresource.lawr.ucdavis.edu/drupal/node/1007 Y aquí: http://cran.r-project.org/web/packages/gridBase/vignettes/gridBase.pdf


Y aquí hay una forma de hacerlo al revés, gráfico ggplot2 en un gráfico base:

require(ggplot2) require(grid) plot(sin, -pi, 2*pi) qp <- qplot(mpg, wt, data=mtcars) print(qp, vp=viewport(.8, .75, .2, .2))