[R] "grep" argument not working in "getGrob"?

Pedro Barros pedro.barros at fao.org
Wed Oct 1 15:53:18 CEST 2008


Hi All,

I have a gTree (x1) produced by ggplot, with the following structure (output
from grid.ls, edited):

viewport[GRID.VP.15]
  frame[plot-surrounds]
    viewport[GRID.VP.16]
      cellGrob[GRID.cellGrob.137]
        rect[background]
      upViewport[1]
    viewport[GRID.VP.17]
      cellGrob[GRID.cellGrob.138]
        gTree[plot.gTree.96]
          viewport[layout]
            downViewport[panel_1_1]
              gTree[guide.gTree.81]
                [...]
              upViewport[2]
          downViewport[layout]
[...]

 viewport[GRID.VP.18]
      cellGrob[GRID.cellGrob.139]
        viewport[GRID.VP.13]
          frame[legends]
            viewport[GRID.VP.14]
              cellGrob[GRID.cellGrob.132]
                viewport[GRID.VP.1]
                  frame[legend.frame.100]
                    viewport[GRID.VP.2]
                      cellGrob[GRID.cellGrob.101]
                        text[title.text.98]
                      upViewport[1]
                    viewport[GRID.VP.3]
                      cellGrob[GRID.cellGrob.104]
                        rect[key.rect.103]
[...]
    viewport[GRID.VP.19]
      cellGrob[GRID.cellGrob.140]
        text[ylabel.text.136]
      upViewport[1]
    viewport[GRID.VP.20]
      cellGrob[GRID.cellGrob.141]
        text[xlabel.text.134]
      upViewport[1]
    viewport[GRID.VP.21]
      cellGrob[GRID.cellGrob.142]
        text[title]
      upViewport[1]
  upViewport[1]

However, when I do
unused argument(s) (recursive = TRUE)
> x2 <- getGrob(x1, gPath=gPath("plot-surrounds", "GRID.cellGrob\\.[1-9]*",
> "legends"), grep=TRUE, global=TRUE)
I get NULL
> x2
NULL

But if I do
> x4 <- grid.ls(x1, grobs=TRUE, fullNames=FALSE, recursive=TRUE,
> print=FALSE, flatten=TRUE)
and then I do
> grep(gPath("plot-surrounds", "GRID.cellGrob\\.[1-9]*", "legends"), x3)
I get the right result
[1] 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72

Can anyone tell me why this is happening, and how should I do to get this
grob?

Thanks,
Pedro
-- 
View this message in context: http://www.nabble.com/%22grep%22-argument-not-working-in-%22getGrob%22--tp19760956p19760956.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list