Вложение миниатюрного сюжета в сюжет
Знает ли кто-нибудь общий способ встраивания графиков в другие графики для создания чего-то вроде макета ниже?
Я знаю, что в решетке вы можете сделать это с помощью print(..., more=TRUE, positions=...)
, как описано в этом вопросе, и я полагаю, что ggplot также имеет решение (но я ' m не очень хорошо с ggplot). Проблема в том, что я хочу встроить обычный сюжет из пакета выживания, который использует стандартный графический пакет в графике решетки.
![A mockup of an embedded plot]()
Спасибо заранее!
Ответы
Ответ 1
Вы можете попробовать пакет gridBase, который предоставляет некоторые функции для интеграции базовой и грид-графики (включая решетку и ggplot2). В приведенном ниже примере встроен базовый графический график внутри участка решетки.
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)
Подробнее здесь: http://casoilresource.lawr.ucdavis.edu/drupal/node/1007
И здесь: http://cran.r-project.org/web/packages/gridBase/vignettes/gridBase.pdf
Ответ 2
И вот способ сделать это наоборот, графический файл ggplot2 в базовом графике:
require(ggplot2)
require(grid)
plot(sin, -pi, 2*pi)
qp <- qplot(mpg, wt, data=mtcars)
print(qp, vp=viewport(.8, .75, .2, .2))
![enter image description here]()
Ответ 3
Посмотрите пакет пакетных пакетов обучения пакет TeachingDemos - и функция subplot()
Он может работать и на решетке - не нужно попробовал, хотя.