| |
| R Under development (unstable) (2022-03-19 r81942) -- "Unsuffered Consequences" |
| Copyright (C) 2022 The R Foundation for Statistical Computing |
| Platform: x86_64-pc-linux-gnu (64-bit) |
| |
| R is free software and comes with ABSOLUTELY NO WARRANTY. |
| You are welcome to redistribute it under certain conditions. |
| Type 'license()' or 'licence()' for distribution details. |
| |
| R is a collaborative project with many contributors. |
| Type 'contributors()' for more information and |
| 'citation()' on how to cite R or R packages in publications. |
| |
| Type 'demo()' for some demos, 'help()' for on-line help, or |
| 'help.start()' for an HTML browser interface to help. |
| Type 'q()' to quit R. |
| |
| > library(grid) |
| > |
| > # Test hole in DL (deleted grob) |
| > grid.lines(name="foo") |
| > grid.lines(x=1:0, name="foo2") |
| > grid.ls() |
| foo |
| foo2 |
| > grid.remove("foo") |
| > grid.ls() |
| foo2 |
| > # New blank page |
| > grid.newpage() |
| > |
| > |
| > ####### |
| > # GROBS |
| > ####### |
| > # Plain grob |
| > grid.ls(grob(name="g1")) |
| g1 |
| > # gList |
| > grid.ls(gList(grob(name="gl1"), grob(name="gl2"))) |
| gl1 |
| gl2 |
| > # gTree |
| > grid.ls(gTree(children=gList(grob(name="child")), |
| + name="parent")) |
| parent |
| child |
| > grid.ls(gTree(children=gList(grob(name="child1"), grob(name="child1")), |
| + name="parent")) |
| parent |
| child1 |
| child1 |
| > |
| > ########### |
| > # VIEWPORTS |
| > ########### |
| > # Plain viewport |
| > grid.ls(viewport(name="vp1"), |
| + view=TRUE) |
| vp1 |
| > # vpList |
| > grid.ls(vpList(viewport(name="vpl1")), |
| + view=TRUE) |
| vpl1 |
| > grid.ls(vpList(viewport(name="vpl1"), viewport(name="vpl2")), |
| + view=TRUE) |
| vpl1 |
| 1 |
| vpl2 |
| > grid.ls(vpList(viewport(name="vpl1"), viewport(name="vpl2"), |
| + viewport(name="vpl3")), |
| + view=TRUE) |
| vpl1 |
| 1 |
| vpl2 |
| 1 |
| vpl3 |
| > # vpStack |
| > grid.ls(vpStack(viewport(name="vps1"), viewport(name="vps2")), |
| + view=TRUE) |
| vps1 |
| vps2 |
| > grid.ls(vpStack(viewport(name="vps1"), viewport(name="vps2"), |
| + viewport(name="vps3")), |
| + view=TRUE) |
| vps1 |
| vps2 |
| vps3 |
| > # vpTrees |
| > grid.ls(vpTree(viewport(name="parentvp"), vpList(viewport(name="childvp"))), |
| + view=TRUE) |
| parentvp |
| childvp |
| > grid.ls(vpTree(viewport(name="parentvp"), |
| + vpList(viewport(name="cvp1"), viewport(name="cvp2"))), |
| + view=TRUE) |
| parentvp |
| cvp1 |
| 1 |
| cvp2 |
| > # vpPaths |
| > grid.ls(vpPath("A"), |
| + view=TRUE) |
| A |
| > grid.ls(vpPath("A", "B"), |
| + view=TRUE) |
| A |
| B |
| > grid.ls(vpPath("A", "B", "C"), |
| + view=TRUE) |
| A |
| B |
| C |
| > |
| > ########## |
| > # MIXTURES |
| > ########## |
| > # grob with vp viewport |
| > g1 <- grob(vp=viewport(name="gvp"), name="g1") |
| > grid.ls(g1, view=TRUE, full=TRUE) |
| viewport[gvp] |
| grob[g1] |
| upViewport[1] |
| > grid.ls(g1, view=TRUE, full=TRUE, grob=FALSE) |
| viewport[gvp] |
| upViewport[1] |
| > # grob with vp vpList |
| > grid.ls(grob(vp=vpList(viewport(name="vpl")), name="g1"), |
| + view=TRUE, full=TRUE) |
| viewport[vpl] |
| grob[g1] |
| upViewport[1] |
| > grid.ls(grob(vp=vpList(viewport(name="vpl1"), viewport(name="vpl2")), |
| + name="g1"), |
| + view=TRUE, full=TRUE) |
| viewport[vpl1] |
| upViewport[1] |
| viewport[vpl2] |
| grob[g1] |
| upViewport[1] |
| > # grob with vp vpStack |
| > grid.ls(grob(vp=vpStack(viewport(name="vps1"), viewport(name="vps2")), |
| + name="g1"), |
| + view=TRUE, full=TRUE) |
| viewport[vps1] |
| viewport[vps2] |
| grob[g1] |
| upViewport[2] |
| > grid.ls(grob(vp=vpStack(viewport(name="vps1"), viewport(name="vps2"), |
| + viewport(name="vps3")), |
| + name="g1"), |
| + view=TRUE) |
| vps1 |
| vps2 |
| vps3 |
| g1 |
| 3 |
| > # grob with vp vpTree |
| > grid.ls(grob(vp=vpTree(viewport(name="parentvp"), |
| + vpList(viewport(name="cvp"))), |
| + name="g1"), |
| + view=TRUE, full=TRUE) |
| viewport[parentvp] |
| viewport[cvp] |
| grob[g1] |
| upViewport[2] |
| > grid.ls(grob(vp=vpTree(viewport(name="parentvp"), |
| + vpList(viewport(name="cvp1"), viewport(name="cvp2"))), |
| + name="g1"), |
| + view=TRUE, full=TRUE) |
| viewport[parentvp] |
| viewport[cvp1] |
| upViewport[1] |
| viewport[cvp2] |
| grob[g1] |
| upViewport[2] |
| > # gTree with vp viewport |
| > # and child grob with vp viewport |
| > grid.ls(gTree(children=gList(grob(vp=viewport(name="childvp"), name="cg1"), |
| + grob(name="cg2")), |
| + name="parent", |
| + vp=viewport(name="parentvp")), |
| + view=TRUE) |
| parentvp |
| parent |
| childvp |
| cg1 |
| 1 |
| cg2 |
| 1 |
| > # gTree with childrenvp viewport |
| > grid.ls(gTree(childrenvp=viewport(name="vp"), name="gtree"), |
| + view=TRUE, full=TRUE) |
| gTree[gtree] |
| viewport[vp] |
| upViewport[1] |
| > grid.ls(gTree(childrenvp=viewport(name="vp"), name="gtree"), |
| + view=TRUE, full=TRUE, grob=FALSE) |
| viewport[vp] |
| upViewport[1] |
| > grid.ls(gTree(children=gList(grob(name="child")), |
| + name="parent", |
| + childrenvp=viewport(name="vp")), |
| + view=TRUE, full=TRUE) |
| gTree[parent] |
| viewport[vp] |
| upViewport[1] |
| grob[child] |
| > grid.ls(gTree(children=gList(grob(name="child1"), grob(name="child2")), |
| + name="parent", |
| + childrenvp=viewport(name="vp")), |
| + view=TRUE, full=TRUE) |
| gTree[parent] |
| viewport[vp] |
| upViewport[1] |
| grob[child1] |
| grob[child2] |
| > grid.ls(gTree(children=gList(grob(name="child")), |
| + childrenvp=viewport(name="vp"), |
| + name="parent"), |
| + view=TRUE, full=TRUE) |
| gTree[parent] |
| viewport[vp] |
| upViewport[1] |
| grob[child] |
| > grid.ls(gTree(children=gList(grob(name="child1"), grob(name="child2")), |
| + name="parent", |
| + childrenvp=viewport(name="vp")), |
| + view=TRUE, full=TRUE, grob=FALSE) |
| viewport[vp] |
| upViewport[1] |
| > # gTree with childrenvp vpTree |
| > grid.ls(gTree(childrenvp=vpTree(parent=viewport(name="vp1"), |
| + children=vpList(viewport(name="vp2"))), |
| + name="gtree"), |
| + view=TRUE, full=TRUE) |
| gTree[gtree] |
| viewport[vp1] |
| viewport[vp2] |
| upViewport[2] |
| > grid.ls(gTree(children=gList(grob(name="child")), |
| + name="parent", |
| + childrenvp=vpTree(parent=viewport(name="vp1"), |
| + children=vpList(viewport(name="vp2")))), |
| + view=TRUE, full=TRUE) |
| gTree[parent] |
| viewport[vp1] |
| viewport[vp2] |
| upViewport[2] |
| grob[child] |
| > # gTree with childrenvp vpTree |
| > # and child grob with vp vpPath |
| > # A gTree, called "parent", with childrenvp vpTree (vp2 within vp1) |
| > # and child grob, called "child", with vp vpPath (down to vp2) |
| > sampleGTree <- gTree(name="parent", |
| + children=gList(grob(name="child", vp="vp1::vp2")), |
| + childrenvp=vpTree(parent=viewport(name="vp1"), |
| + children=vpList(viewport(name="vp2")))) |
| > grid.ls(sampleGTree) |
| parent |
| child |
| > # Show viewports too |
| > grid.ls(sampleGTree, view=TRUE) |
| parent |
| vp1 |
| vp2 |
| 2 |
| vp1 |
| vp2 |
| child |
| 2 |
| > # Only show viewports |
| > grid.ls(sampleGTree, view=TRUE, grob=FALSE) |
| vp1 |
| vp2 |
| 2 |
| vp1 |
| vp2 |
| 2 |
| > # Alternate displays |
| > # nested listing, custom indent |
| > grid.ls(sampleGTree, view=TRUE, print=nestedListing, gindent="--") |
| parent |
| --vp1 |
| ----vp2 |
| ------2 |
| --vp1 |
| ----vp2 |
| ------child |
| ------2 |
| > # path listing |
| > grid.ls(sampleGTree, view=TRUE, print=pathListing) |
| | parent |
| vp1 |
| vp1::vp2 |
| vp1::vp2::2 |
| vp1 |
| vp1::vp2 |
| vp1::vp2 | parent::child |
| vp1::vp2::2 |
| > # path listing, without grobs aligned |
| > grid.ls(sampleGTree, view=TRUE, print=pathListing, gAlign=FALSE) |
| | parent |
| vp1 |
| vp1::vp2 |
| vp1::vp2::2 |
| vp1 |
| vp1::vp2 |
| vp1::vp2 | parent::child |
| vp1::vp2::2 |
| > # grob path listing |
| > grid.ls(sampleGTree, view=TRUE, print=grobPathListing) |
| | parent |
| vp1::vp2 | parent::child |
| > # path listing, grobs only |
| > grid.ls(sampleGTree, print=pathListing) |
| | parent |
| | parent::child |
| > # path listing, viewports only |
| > grid.ls(sampleGTree, view=TRUE, grob=FALSE, print=pathListing) |
| vp1 |
| vp1::vp2 |
| vp1::vp2::2 |
| vp1 |
| vp1::vp2 |
| vp1::vp2::2 |
| > # raw flat listing |
| > str(grid.ls(sampleGTree, view=TRUE, print=FALSE)) |
| List of 6 |
| $ name : chr [1:8] "parent" "vp1" "vp2" "2" ... |
| $ gDepth : num [1:8] 0 1 1 1 1 1 1 1 |
| $ vpDepth: num [1:8] 0 0 1 2 0 1 2 2 |
| $ gPath : chr [1:8] "" "parent" "parent" "parent" ... |
| $ vpPath : chr [1:8] "" "" "vp1" "vp1::vp2" ... |
| $ type : chr [1:8] "gTreeListing" "vpListing" "vpListing" "vpUpListing" ... |
| - attr(*, "class")= chr "flatGridListing" |
| > |
| > |
| > |
| > |
| > proc.time() |
| user system elapsed |
| 0.310 0.053 0.349 |