Learn R Programming

crop (version 0.0-3)

dev_off_crop: Cropping Device

Description

dev.off.crop() calls dev.off() to close the plotting device and then crops the produced graphic. This works on Unix-like systems if the right underlying Unix tools are installed and found (see below).

Usage

dev.off.crop(file = NULL, warn = TRUE, ...)

Value

invisible().

Arguments

file

An output file name including extension.

warn

A logical indicating whether warnings shall be given in case the wrong operating system is used or the underlying Unix tools are not available.

...

Additional arguments passed to dev.off().

Author

Marius Hofert

Details

Supported file extensions are .ps (epstool), .eps (epstool), .pdf (pdfcrop), .png (mogrify) if the underlying tools (given in parentheses) are installed and found. If they are not installed or found or if the wrong operating system is used, simply dev.off() is called (and thus no cropping is done).

See Also

dev.off() for closing a device.

Examples

Run this code
## Example data
x <- 1:10
y <- rev(x)

## PS
postscript(file = (file <- "crop.ps"))
plot(x, y, xlab = "x", ylab = "y")
dev.off.crop(file = file)
file.remove("crop.ps") # clean-up

## EPS
setEPS() # or use onefile = FALSE, horizontal = FALSE, paper = "special" in postscript()
postscript(file = (file <- "crop.eps"))
plot(x, y, xlab = "x", ylab = "y")
dev.off.crop(file = file)
file.remove("crop.eps") # clean-up

## PDF
pdf(file = (file <- "crop.pdf"))
plot(x, y, xlab = "x", ylab = "y")
dev.off.crop(file = file)
file.remove("crop.pdf") # clean-up

## PNG with white background
png(filename = (file <- "crop.png"))
plot(x, y, xlab = "x", ylab = "y")
dev.off.crop(file = file)
file.remove("crop.png") # clean-up

## PNG with transparent background
## Not doable by the underlying 'mogrify' (only cropped vertically, not horizontally)
if(FALSE) {
    png(filename = (file <- "crop.png"), bg = "transparent")
    plot(x, y, xlab = "x", ylab = "y")
    dev.off.crop(file = file)
}

Run the code above in your browser using DataLab