recordGraphics           package:grDevices           R Documentation

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

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.

See Also:

     'eval'

Examples:

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

