Learn R Programming

grid (version 3.4.0)

grid.edit: Edit the Description of a Grid Graphical Object

Description

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

Usage

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)

Arguments

grob
A grob object.
Zero or more named arguments specifying new slot values.
gPath
A gPath object. For grid.edit this specifies a grob on the display list. For editGrob this specifies a descendant of the specified grob.
strict
A boolean indicating whether the gPath must be matched exactly.
grep
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).
global
A boolean indicating whether the function should affect just the first match of the gPath, or whether all matches should be affected.
warn
A logical to indicate whether failing to find the specified gPath should trigger an error.
allDevices
A boolean indicating whether all open devices should be searched for matches, or just the current device. NOT YET IMPLEMENTED.
redraw
A logical value to indicate whether to redraw the grob.

Value

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

Details

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.

See Also

grob, getGrob, addGrob, removeGrob.

Examples

Run this code
grid.newpage()
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")))

Run the code above in your browser using DataLab