我想在现有图的一小部分中拟合整个格子图。

xyplot(decrease ~ treatment, OrchardSprays, groups = rowpos, type = "a")
pushViewport(viewport(.2, .7, .2, .2))
grid.rect(gp=gpar(fill="white"))

给我这个:

因此,视口(viewport)被插入。但是,如果再次调用晶格函数,它将使用整个设备,就像调用grid.newpage()一样:
xyplot(decrease ~ treatment, OrchardSprays, groups = rowpos, type = "a")

有没有一种方法可以将晶格图限制在设备上的预定义区域(如我上面的示例所示)?

最佳答案

您必须直接将print参数设置为newpage(与默认值相反)来调用FALSE:

xyplot(decrease ~ treatment, OrchardSprays, groups = rowpos, type = "a")
pushViewport(viewport(.2, .7, .2, .2))
print(xyplot(decrease ~ treatment, OrchardSprays, groups = rowpos, type = "a"), newpage=FALSE)

您可以在网格手册(r_instalation_path/library/grid/doc/grid.pdf)的“在网格中添加晶格”部分中找到它。

关于r - 将晶格图限制在视口(viewport)中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4863862/

10-12 14:06