Desktop Survival Guide
by Graham Williams

File Devices

In order to save the graphics to a file the following file devices are provided:

> bitmap("sample.png")		# GhostScript to generate any format
> bmp("sample.bmp")  		# MS/Windows only
> fig("sample.fig")		# Vector based and editable with xfig
> jpeg("sample.jpg")		# Bitmap
> pdf("sample.pdf")		# Vector based Portable Document Format
> png("sample.png")		# Bitmap
> postscript("sample.eps")	# Vector based
> win.metafile("sample.emf") 	# MS/Windows only

Once created, you can start building the elements of the graphic you wish to produce (and there are plenty of examples of building a variety of graphics throughout this book). Once complete, close the specific graphic device with:


Each device tends to have a collection of options that fine tune the capabilities of the device. Refer to the on-line documentation for details:

> ?pdf

To generate a an older tiff format (now largely superseded by the png format for graphics that include vectors and text), perhaps as 24-bit RGB output (8 bits per component), you can use the bitmap device:

> bitmap("sample.tiff", type="tiff24nc")

Any output device supported by GostScript is available. GhostScript needs to be installed, but once installed you can get a list of supported output devices:

$ gs --help
Available devices:
   alc1900 alc2000 alc4000 alc4100 alc8500 alc8600 alc9100 ap3250 appledmp
   atx23 atx24 atx38 bbox bit bitcmyk bitrgb bj10e bj10v bj10vh bj200 bjc600
   bjc800 bjc880j bjccmyk bjccolor bjcgray bjcmono bmp16 bmp16m bmp256
   bmp32b bmpa16 bmpa16m bmpa256 bmpa32b bmpamono bmpasep1 bmpasep8 bmpgray
   bmpmono bmpsep1 bmpsep8 ccr cdeskjet cdj1600 cdj500 cdj550 cdj670 cdj850
   cdj880 cdj890 cdj970 cdjcolor cdjmono cfax cgm24 cgm8 cgmmono chp2200 cif
   cljet5 cljet5c cljet5pr coslw2p coslwxl cp50 cups declj250 deskjet
   devicen dfaxhigh dfaxlow dj505j djet500 djet500c dl2100 dnj650c epl2050
   epl2050p epl2120 epl2500 epl2750 epl5800 epl5900 epl6100 epl6200 eps9high
   eps9mid epson epsonc epswrite escp escpage faxg3 faxg32d faxg4 fmlbp fmpr
   fs600 gdi hl1240 hl1250 hl7x0 hpdj1120c hpdj310 hpdj320 hpdj340 hpdj400
   hpdj500 hpdj500c hpdj510 hpdj520 hpdj540 hpdj550c hpdj560c hpdj600
   hpdj660c hpdj670c hpdj680c hpdj690c hpdj850c hpdj855c hpdj870c hpdj890c
   hpdjplus hpdjportable ibmpro ijs imagen inferno iwhi iwlo iwlq jetp3852
   jj100 jpeg jpeggray la50 la70 la75 la75plus laserjet lbp310 lbp320 lbp8
   lex2050 lex3200 lex5700 lex7000 lips2p lips3 lips4 lips4v lj250 lj3100sw
   lj4dith lj4dithp lj5gray lj5mono ljet2p ljet3 ljet3d ljet4 ljet4d
   ljet4pjl ljetplus ln03 lp1800 lp1900 lp2000 lp2200 lp2400 lp2500 lp2563
   lp3000c lp7500 lp7700 lp7900 lp8000 lp8000c lp8100 lp8200c lp8300c
   lp8300f lp8400f lp8500c lp8600 lp8600f lp8700 lp8800c lp8900 lp9000b
   lp9000c lp9100 lp9200b lp9200c lp9300 lp9400 lp9500c lp9600 lp9600s
   lp9800c lq850 lx5000 lxm3200 lxm5700m m8510 mag16 mag256 md1xMono md2k
   md50Eco md50Mono md5k mgr4 mgr8 mgrgray2 mgrgray4 mgrgray8 mgrmono miff24
   mj500c mj6000c mj700v2c mj8000c ml600 necp6 npdl nullpage oce9050 oki182
   oki4w okiibm omni oprp opvp paintjet pam pbm pbmraw pcl3 pcx16 pcx24b
   pcx256 pcx2up pcxcmyk pcxgray pcxmono pdfwrite pgm pgmraw pgnm pgnmraw
   photoex picty180 pj pjetxl pjxl pjxl300 pkm pkmraw pksm pksmraw plan9bm
   png16 png16 png16m png16m png256 png256 pngalpha pngalpha pnggray pnggray
   pngmono pngmono pnm pnmraw ppm ppmraw pr1000 pr1000_4 pr150 pr201 psdcmyk
   psdrgb psgray psmono psrgb pswrite pxlcolor pxlmono r4081 rpdl samsunggdi
   sgirgb sj48 spotcmyk st800 stcolor sunhmono t4693d2 t4693d4 t4693d8
   tek4696 tiff12nc tiff24nc tiffcrle tiffg3 tiffg32d tiffg4 tifflzw
   tiffpack uniprint x11 x11alpha x11cmyk x11cmyk2 x11cmyk4 x11cmyk8
   x11gray2 x11gray4 x11mono xcf xes

That's a pretty impressive collection of output devices!

Note that the win.metafile device requires the MS/Windows libraries. On a GNU/Linux system, to generate the MS/Windows Metafile format, you will need to install and run a version of R under, for example, the GNU/Linux wine package. This was discussed in See Section A.7.

The graphics included in this book are generated as pdf using scalable vector graphics. We could have generated png files for inclusion in web pages or even convert pdf files to png using the Debian GNU/Linux convert program:

  $ convert rplot-basic.pdf rplot-basic.png

Copyright © 2004-2010 Togaware Pty Ltd
Support further development through the purchase of the PDF version of the book.
The PDF version is a formatted comprehensive draft book (with over 800 pages).
Brought to you by Togaware. This page generated: Sunday, 22 August 2010