# recordGraphics

0th

Percentile

##### Record Graphics Operations

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.

Keywords
device
##### 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 list.

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

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

eval
library(grDevices) # NOT RUN { 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")) # }