Learn R Programming

grDevices (version 3.4.0)

recordGraphics: Record Graphics Operations

Description

Records arbitrary code on the graphics engine display list. Useful for encapsulating calculations with graphical output that depends on the calculations. Intended only for expert use.

Usage

recordGraphics(expr, list, env)

Arguments

expr
object of mode expression or call or an unevaluated expression.
list
a list defining the environment in which expr is to be evaluated.
env
An environment specifying where R looks for objects not found in envir.

Value

The value from evaluating expr.

Warning

This function is not intended for general use. Incorrect or improper use of this function could lead to unintended and/or undesirable results. An example of acceptable use is querying the current state of a graphics device or graphics system setting and then calling a graphics function. An example of improper use would be calling the assign function to performing assignments in the global environment.

Details

The code in expr is evaluated in an environment constructed from list, with env as the parent of that environment. All three arguments are saved on the graphics engine display list so that on a device resize or copying between devices, the original evaluation environment can be recreated and the code can be re-evaluated to reproduce the graphical output.

See Also

eval

Examples

Run this code
require(graphics)

plot(1:10)
# This rectangle remains 1inch wide when the device is resized
recordGraphics(
  {
    rect(4, 2,
         4 + diff(par("usr")[1:2])/par("pin")[1], 3)
  },
  list(),
  getNamespace("graphics"))

Run the code above in your browser using DataLab