grid.edit {grid} | R Documentation

## 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)

### 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.
`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.

### 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.

### Value

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

### Author(s)

Paul Murrell

### See Also

`grob`, `getGrob`, `addGrob`, `removeGrob`.

### Examples

    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")))

[Package grid version 2.8.1 Index]