Khamenia, Valery
2004-Sep-30 12:47 UTC
[R] How to save graphics in portable way in batch mode?
Hi all, What is the right portable way to save graphics in batch mode? Remarks: 1. Problem is STFWed and RTFMed. In particular a short note about png() is found in R-FAQ. In fact, there were stated that png() is not reliable under Linux in batch mode. 2. savePlot under windows is quite convenient, but not supplied under Linux. 3. pdf() + postscript() < savePlot() Indeed, savePlot does support much more image formats and is flexible in changing type of output via its argument. 4. The scheme "postscript(); plot(); dev.off();" makes R-scripts not really nice. Indeed, if one's script had about 15 plot calls then in order to save graphics one need to add 15 times the postscript() in prior of plot() call and then 15 times the dev.off() as epilogue to plot() call. 5. Hm, one could create function similar to Sweave() (see R-1.9.1\src\library\utils\R\Sweave.R) and benefit from automatic name generation and saving. But it is quite unnatural, isn't it? so, it would be nice to know what is the "right way". P.S. BTW, will be there any specific changes in R-2.x? Thank you a priori for your comments, Valery.
Chuck Cleland
2004-Sep-30 13:06 UTC
[R] How to save graphics in portable way in batch mode?
Have you considered the following approach to creating a single PDF file with multiple pages of plots? pdf(file="c:\\myfigs.pdf") plot() plot() plot() dev.off() Or if you want a file for each figure with names generated automatically, try something like: pdf(onefile=FALSE) plot() plot() plot() dev.off() It seems like as long as the PDF device is going to have the same settings (e.g., width, height, and pointsize) across plots, there is no need to call pdf() and dev.off() multiple times within a script. hope this helps, Chuck Cleland Khamenia, Valery wrote:> Hi all, > > What is the right portable way to save graphics > in batch mode? > > Remarks: > > 1. Problem is STFWed and RTFMed. In particular a short note > about png() is found in R-FAQ. In fact, there were stated > that png() is not reliable under Linux in batch mode. > > 2. savePlot under windows is quite convenient, but > not supplied under Linux. > > 3. pdf() + postscript() < savePlot() > Indeed, savePlot does support much more image formats > and is flexible in changing type of output via its > argument. > > 4. The scheme > > "postscript(); plot(); dev.off();" > > makes R-scripts not really nice. Indeed, if one's script > had about 15 plot calls then in order to save graphics > one need to add 15 times the postscript() in prior of > plot() call and then 15 times the dev.off() as epilogue > to plot() call. > > 5. Hm, one could create function similar to Sweave() > (see R-1.9.1\src\library\utils\R\Sweave.R) and > benefit from automatic name generation and saving. > But it is quite unnatural, isn't it? > > so, it would be nice to know what is the "right way". > > P.S. BTW, will be there any specific changes in R-2.x? > > Thank you a priori for your comments, > Valery. > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html >-- Chuck Cleland, Ph.D. NDRI, Inc. 71 West 23rd Street, 8th floor New York, NY 10010 tel: (212) 845-4495 (Tu, Th) tel: (732) 452-1424 (M, W, F) fax: (917) 438-0894
Peter Dalgaard
2004-Sep-30 13:13 UTC
[R] How to save graphics in portable way in batch mode?
"Khamenia, Valery" <V.Khamenia at biovision-discovery.de> writes:> Hi all, > > What is the right portable way to save graphics > in batch mode? > > Remarks: > > 1. Problem is STFWed and RTFMed. In particular a short note > about png() is found in R-FAQ. In fact, there were stated > that png() is not reliable under Linux in batch mode. > > 2. savePlot under windows is quite convenient, but > not supplied under Linux. > > 3. pdf() + postscript() < savePlot() > Indeed, savePlot does support much more image formats > and is flexible in changing type of output via its > argument. > > 4. The scheme > > "postscript(); plot(); dev.off();" > > makes R-scripts not really nice. Indeed, if one's script > had about 15 plot calls then in order to save graphics > one need to add 15 times the postscript() in prior of > plot() call and then 15 times the dev.off() as epilogue > to plot() call. > > 5. Hm, one could create function similar to Sweave() > (see R-1.9.1\src\library\utils\R\Sweave.R) and > benefit from automatic name generation and saving. > But it is quite unnatural, isn't it? > > so, it would be nice to know what is the "right way".Looks like you may have RTFM but didn't RTWFM (or even RTWHP). Check out the "onefile" argument in postscript().> P.S. BTW, will be there any specific changes in R-2.x?The sources are available.... E.g. https://svn.r-project.org/R/trunk/NEWS -- O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907