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.
recordGraphics(expr, list, env)
object of mode expression
or call
or
an unevaluated expression.
a list defining the environment in which expr
is to
be evaluated.
an environment
specifying
where R looks for objects not found in list
.
The value from evaluating expr
.
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.
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.
# 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"))
# }
Run the code above in your browser using DataLab