dev2 {grDevices} | R Documentation |
dev.copy
copies the graphics contents of the current device
to the device specified by which
or to a new device which has
been created by the function specified by device
(it is an
error to specify both which
and device
). (If recording
is off on the current device, there are no contents to copy: this will
result in no plot or an empty plot.)
The device copied to becomes the current device.
dev.print
copies the graphics contents of the current device
to a new device which has been created by the function specified by
device
and then shuts the new device.
dev.copy2eps
is similar to dev.print
but produces an
EPSF output file, in portrait orientation (horizontal = FALSE
)
dev.control
allows the user to control the recording of
graphics operations in a device. If displaylist
is "inhibit"
("enable")
then recording is turned off (on). It is only safe
to change this at the beginning of a plot (just before or just after a
new page). Initially recording is on for screen devices, and off for
print devices.
dev.copy(device, ..., which = dev.next()) dev.print(device = postscript, ...) dev.copy2eps(...) dev.control(displaylist = c("inhibit", "enable"))
device |
A device function (e.g., x11 ,
postscript , ...) |
... |
Arguments to the device function above.
For dev.print , this includes which and by default any
postscript arguments. |
which |
A device number specifying the device to copy to |
displaylist |
A character string: the only valid values are
"inhibit" and "enable" . |
For dev.copy2eps
, width
and height
are taken
from the current device unless otherwise specified. If just one of
width
and height
is specified, the other is adjusted
to preserve the aspect ratio of the device being copied. The default
file name is Rplot.eps
.
The default for dev.print
is to produce and print a postscript
copy. This will not work unless
options("printcmd")
is set suitably and you have a
PostScript printer: see postscript
for how to set this
up. Windows users may prefer to use dev.print(win.print)
.
dev.print
is most useful for producing a postscript print
(its default) when the following applies. Unless
file
is specified, the plot will be printed. Unless
width
, height
and pointsize
are specified
the plot dimensions will be taken from the current device, shrunk
if necessary to fit on the paper. (pointsize
is rescaled if the
plot is shrunk.) If horizontal
is not specified and the plot
can be printed at full size by switching its value this is done
instead of shrinking the plot region.
If dev.print
is used with a specified device
(even
postscript
) it sets the width and height in the same way as
dev.copy2eps
. This will not be appropriate unless the device
specifies dimensions in inches, in particular not for png
,
jpeg
and (Windows only) bmp
.
dev.copy
returns the name and number of the device which has
been copied to.
dev.print
and dev.copy2eps
return the name and number of
the device which has been copied from.
Most devices (including all screen devices) have a display list
which records all of the graphics operations that occur in the device.
dev.copy
copies graphics contents by copying the display list
from one device to another device. Also, automatic redrawing of
graphics contents following the resizing of a device depends on the
contents of the display list.
After the command dev.control("inhibit")
, graphics operations
are not recorded in the display list so that dev.copy
and
dev.print
will not copy anything and the contents of a device
will not be redrawn automatically if the device is resized.
The recording of graphics operations is relatively expensive in
terms of memory so the command dev.control("inhibit")
can be
useful if memory usage is an issue.
dev.cur
and other dev.xxx
functions
## Not run: x11() plot(rnorm(10), main="Plot 1") dev.copy(device=x11) mtext("Copy 1", 3) dev.print(width=6, height=6, horizontal=FALSE) # prints it dev.off(dev.prev()) dev.off() ## End(Not run)