Aliases: viewport vpList vpStack vpTree
Keywords: dplot
### ** Examples # Diagram of a sample viewport grid.show.viewport(viewport(x=0.6, y=0.6, width=unit(1, "inches"), height=unit(1, "inches")))
# Demonstrate viewport clipping clip.demo <- function(i, j, clip1, clip2) { pushViewport(viewport(layout.pos.col=i, layout.pos.row=j)) pushViewport(viewport(width=0.6, height=0.6, clip=clip1)) grid.rect(gp=gpar(fill="white")) grid.circle(r=0.55, gp=gpar(col="red", fill="pink")) popViewport() pushViewport(viewport(width=0.6, height=0.6, clip=clip2)) grid.polygon(x=c(0.5, 1.1, 0.6, 1.1, 0.5, -0.1, 0.4, -0.1), y=c(0.6, 1.1, 0.5, -0.1, 0.4, -0.1, 0.5, 1.1), gp=gpar(col="blue", fill="light blue")) popViewport(2) } grid.newpage() grid.rect(gp=gpar(fill="grey")) pushViewport(viewport(layout=grid.layout(2, 2))) clip.demo(1, 1, FALSE, FALSE) clip.demo(1, 2, TRUE, FALSE) clip.demo(2, 1, FALSE, TRUE) clip.demo(2, 2, TRUE, TRUE) popViewport()
# Demonstrate turning clipping off grid.newpage() pushViewport(viewport(width=.5, height=.5, clip="on")) grid.rect() grid.circle(r=.6, gp=gpar(lwd=10)) pushViewport(viewport(clip="inherit")) grid.circle(r=.6, gp=gpar(lwd=5, col="grey")) pushViewport(viewport(clip="off")) grid.circle(r=.6) popViewport(3)
# Demonstrate vpList, vpStack, and vpTree grid.newpage() tree <- vpTree(viewport(width=0.8, height=0.8, name="A"), vpList(vpStack(viewport(x=0.1, y=0.1, width=0.5, height=0.5, just=c("left", "bottom"), name="B"), viewport(x=0.1, y=0.1, width=0.5, height=0.5, just=c("left", "bottom"), name="C"), viewport(x=0.1, y=0.1, width=0.5, height=0.5, just=c("left", "bottom"), name="D")), viewport(x=0.5, width=0.4, height=0.9, just="left", name="E"))) pushViewport(tree) for (i in LETTERS[1:5]) { seekViewport(i) grid.rect() grid.text(current.vpTree(FALSE), x=unit(1, "mm"), y=unit(1, "npc") - unit(1, "mm"), just=c("left", "top"), gp=gpar(fontsize=8)) }