Rev 78042 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
R Under development (unstable) (2020-03-24 r78039) -- "Unsuffered Consequences"Copyright (C) 2020 The R Foundation for Statistical ComputingPlatform: 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()foofoo2> 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")))gl1gl2> # gTree> grid.ls(gTree(children=gList(grob(name="child")),+ name="parent"))parentchild> grid.ls(gTree(children=gList(grob(name="child1"), grob(name="child1")),+ name="parent"))parentchild1child1>> ###########> # 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)vpl11vpl2> grid.ls(vpList(viewport(name="vpl1"), viewport(name="vpl2"),+ viewport(name="vpl3")),+ view=TRUE)vpl11vpl21vpl3> # vpStack> grid.ls(vpStack(viewport(name="vps1"), viewport(name="vps2")),+ view=TRUE)vps1vps2> grid.ls(vpStack(viewport(name="vps1"), viewport(name="vps2"),+ viewport(name="vps3")),+ view=TRUE)vps1vps2vps3> # vpTrees> grid.ls(vpTree(viewport(name="parentvp"), vpList(viewport(name="childvp"))),+ view=TRUE)parentvpchildvp> grid.ls(vpTree(viewport(name="parentvp"),+ vpList(viewport(name="cvp1"), viewport(name="cvp2"))),+ view=TRUE)parentvpcvp11cvp2> # vpPaths> grid.ls(vpPath("A"),+ view=TRUE)A> grid.ls(vpPath("A", "B"),+ view=TRUE)AB> grid.ls(vpPath("A", "B", "C"),+ view=TRUE)ABC>> ##########> # 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)vps1vps2vps3g13> # 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)parentvpparentchildvpcg11cg21> # 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)parentchild> # Show viewports too> grid.ls(sampleGTree, view=TRUE)parentvp1vp22vp1vp2child2> # Only show viewports> grid.ls(sampleGTree, view=TRUE, grob=FALSE)vp1vp22vp1vp22> # 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)| parentvp1vp1::vp2vp1::vp2::2vp1vp1::vp2vp1::vp2 | parent::childvp1::vp2::2> # path listing, without grobs aligned> grid.ls(sampleGTree, view=TRUE, print=pathListing, gAlign=FALSE)| parentvp1vp1::vp2vp1::vp2::2vp1vp1::vp2vp1::vp2 | parent::childvp1::vp2::2> # grob path listing> grid.ls(sampleGTree, view=TRUE, print=grobPathListing)| parentvp1::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)vp1vp1::vp2vp1::vp2::2vp1vp1::vp2vp1::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 elapsed0.285 0.049 0.314