grid.edit {grid}R Documentation

Edit the Description of a Grid Graphical Object


Changes the value of one of the slots of a grob and redraws the grob.


grid.edit(gPath, ..., strict = FALSE, grep = FALSE,
          global = FALSE, allDevices = FALSE, redraw = TRUE)

grid.gedit(..., grep = TRUE, global = TRUE)

editGrob(grob, gPath = NULL, ..., strict = FALSE, grep = FALSE,
         global = FALSE, warn = TRUE)



A grob object.


Zero or more named arguments specifying new slot values.


A gPath object. For grid.edit this specifies a grob on the display list. For editGrob this specifies a descendant of the specified grob.


A boolean indicating whether the gPath must be matched exactly.


A boolean indicating whether the gPath should be treated as a regular expression. Values are recycled across elements of the gPath (e.g., c(TRUE, FALSE) means that every odd element of the gPath will be treated as a regular expression).


A boolean indicating whether the function should affect just the first match of the gPath, or whether all matches should be affected.


A logical to indicate whether failing to find the specified gPath should trigger an error.


A boolean indicating whether all open devices should be searched for matches, or just the current device. NOT YET IMPLEMENTED.


A logical value to indicate whether to redraw the grob.


editGrob copies the specified grob and returns a modified grob.

grid.edit destructively modifies a grob on the display list. If redraw is TRUE it then redraws everything to reflect the change.

Both functions call editDetails to allow a grob to perform custom actions and validDetails to check that the modified grob is still coherent.

grid.gedit (g for global) is just a convenience wrapper for grid.edit with different defaults.


editGrob returns a grob object; grid.edit returns NULL.


Paul Murrell

See Also

grob, getGrob, addGrob, removeGrob.


grid.xaxis(name = "xa", vp = viewport(width=.5, height=.5))
grid.edit("xa", gp = gpar(col="red"))
# won't work because no ticks (at is NULL)
try(grid.edit(gPath("xa", "ticks"), gp = gpar(col="green")))
grid.edit("xa", at = 1:4/5)
# Now it should work
try(grid.edit(gPath("xa", "ticks"), gp = gpar(col="green")))

[Package grid version 4.4.0 Index]