Use substitute() instead of expression(); choose to use either MYPLOT or myplot because they are different variables; and use parentheses around your function arguments instead of braces.
-----Original Message----- From: Ronny Klein [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 09, 2005 12:22 PM To: Achim Zeileis Cc: [email protected] Subject: Re: [R] function in order to plot the same graph to postscript and pdf > > 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 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() } However the result is the same: the first one is actually printed but the second plot is empty. Ronny ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
