[R] how to specify dev.print target by a variable?

Berwin A Turlach berwin at maths.uwa.edu.au
Fri Dec 23 02:48:56 CET 2005


G'day Leif,

>>>>> "LK" == Leif Kirschenbaum <leif at reflectivity.com> writes:

    LK> How do I do this such that I can specify FOO to be one of
    LK> several choices? (GDD, PNG, postscript, etc.)  If I make FOO a
    LK> character variable, then "dev.print" complains.
Mmh, I am not sure what the complaint of R 2.2.0 on MS Windows is, but
I guess it is the same as under linux:

> DEVw=500
> DEVh=350
> fname="my_plot"
> plot(rnorm(300))
> FOO <- "png"
> dev.print(file=fname, device=FOO, width=DEVw, height=DEVh, bg="transparent")
Error in dev.copy(device = "png", file = fname, width = DEVw, height = DEVh,  : 
	'device' should be a function

Which is very informative.  `device' is supposed to be a function, not
a character variable, thus:

> FOO <- png
> dev.print(file=fname, device=FOO, width=DEVw, height=DEVh, bg="transparent")
X11 
  2 
> FOO <- pdf
> dev.print(file=fname, device=FOO, width=DEVw, height=DEVh, bg="transparent")
X11 
  2 

all seem to work.

HTH.

Cheers,

        Berwin

========================== Full address ============================
Berwin A Turlach                      Tel.: +61 (8) 6488 3338 (secr)   
School of Mathematics and Statistics        +61 (8) 6488 3383 (self)      
The University of Western Australia   FAX : +61 (8) 6488 1028
35 Stirling Highway                   
Crawley WA 6009                e-mail: berwin at maths.uwa.edu.au
Australia                        http://www.maths.uwa.edu.au/~berwin




More information about the R-help mailing list