[R] function in order to plot the same graph to postscript and pdf

Achim Zeileis Achim.Zeileis at wu-wien.ac.at
Wed Mar 9 19:35:13 CET 2005


On Wed, 9 Mar 2005 18:21:41 +0100 Ronny Klein wrote:

> > > The myplot is something like this:
> > >
> > > plot(x)
> > > text(foo)
> >
> > Aha, I was surprised that this worked for one of the two plots.
> > You could pass myplot as an expression, e.g. myplot =
> > expression(plot(x)), and then eval() that in the body of
> > plot.both().
> 
> I've followed your advice

Not quite...

> and changed my function to something like this:
> 
> plot.both <- function{myplot, filename}{
>      MYPLOT <- expression(myplot)
>      pdf(file=paste(filename, ".pdf", sep=""))
>      eval(myplot)
>      dev.off()
>      postscript(file=paste(filename, ".eps", sep=""))
>      eval(myplot)
>     dev.off()
>  }

I guess you would want eval(MYPLOT) there?

But the function above works if you say
  plot.both(myplot = expression(plot(x)), filename = "foo")
and that is what I said above: set myplot = expression(plot(x)).
Z

> However the result is the same: the first one is actually printed but
> the second plot is empty. 
> 
> Ronny
>




More information about the R-help mailing list