List of Graphical Devices


The following graphics devices are currently available:

  • pdf Write PDF graphics commands to a file

  • postscript Writes PostScript graphics commands to a file

  • xfig Device for XFIG graphics file format

  • bitmap bitmap pseudo-device via Ghostscript (if available).

  • pictex Writes TeX/PicTeX graphics commands to a file (of historical interest only)

The following devices will be functional if R was compiled to use them (they exist but will return with a warning on other systems):

  • X11 The graphics device for the X11 windowing system

  • cairo_pdf, cairo_ps PDF and PostScript devices based on cairo graphics.

  • svg SVG device based on cairo graphics.

  • png PNG bitmap device

  • jpeg JPEG bitmap device

  • bmp BMP bitmap device

  • tiff TIFF bitmap device

  • quartz The graphics device for the OS X native Quartz 2d graphics system. (This is only functional on OS X where it can be used from the GUI and from the command line: but it will display on the local screen even for a remote session.)


If no device is open, using a high-level graphics function will cause a device to be opened. Which device is given by options("device") which is initially set as the most appropriate for each platform: a screen device for most interactive use and pdf (or the setting of R_DEFAULT_DEVICE) otherwise. The exception is interactive use under Unix if no screen device is known to be available, when pdf() is used.

It is possible for an R package to provide further graphics devices and several packages on CRAN do so. These include other devices outputting SVG and PGF/TiKZ (TeX-based graphics, see

See Also

The individual help files for further information on any of the devices listed here; X11.options, quartz.options, ps.options and pdf.options for how to customize devices.

dev.interactive, dev.cur, dev.print,, image, dev2bitmap.

capabilities to see if X11, jpeg png, tiff, quartz and the cairo-based devices are available.


## Not run: 
## open the default screen device on this platform if no device is
## open
if(dev.cur() == 1)

## End(Not run)

Want to suggest features or report bugs for Use the GitHub issue tracker. Vote for new features on Trello.

comments powered by Disqus