在绘图中嵌入微型图

时间:2011-10-17 12:46:28

标签: r plot lattice

有没有人知道将图表嵌入其他图表以生成类似下面的模型的一般方法?

我知道在格子中你可以用print(..., more=TRUE, positions=...)中的{{1}}来解决这个问题,我猜ggplot也有解决方法(但我对ggplot不是很好)。问题是我想将使用标准图形包的生存包中的常规绘图嵌入到格子图中。

A mockup of an embedded plot

提前致谢!

3 个答案:

答案 0 :(得分:26)

这是另一种方法,基本图形中的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

答案 1 :(得分:18)

您可以尝试使用gridBase包,它提供了一些用于集成基础和基于网格的图形(包括lattice和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 :(得分:3)

查看教学演示包TeachingDemos package - 以及subplot()函数它也可能在格子上工作 - 但是还没试过。