On 9/7/2007 2:15 PM, Gene Selkov wrote: > Thanks a ton, Duncan! > > So I have verified that this line works: > > echo "postscript(file=\"\", command=\"cat\"); plot(0)" | r --vanilla > --slave > > Wonderful! (albeit a little unobvious)
I would include an explicit "dev.off()" after the plotting; I'm not sure all devices guarantee a clean shutdown when R quits. Duncan Murdoch > > --Gene > > On Fri, 7 Sep 2007, Duncan Murdoch wrote: > >> On 9/7/2007 12:36 PM, Gene Selkov wrote: >>> I have found two prior instances of this question in R-help, but I can't >>> find the answer, and I'm giving up on mindless tinkering. >>> >>> http://tolstoy.newcastle.edu.au/R/help/03a/5994.html >>> https://stat.ethz.ch/pipermail/r-help/2004-December/062259.html >>> >>> I must be able to pipe the poltting commands to stdin and receive the plot >>> on stdout, with errors written to stderr, should any occur. >>> >>> Here's what I tried: >>> >>> file test.r: >>> ~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> postscript(stdout()) >>> plot(0) >>> ~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> >>> This command: >>> >>> cat test.r | r --vanilla --slave >>> >>> writes the output to a file named "1" >>> >>> I have also tried: >>> >>> postscript(file=stdout()) >>> postscript(file=file("stdout")) >>> >>> In the latter case, the output goes to the file named "3". >>> >>> Other graphics devices do the same thing. >>> >>> It is interesting that write.table() supports the file=stdout() idiom. If >>> there is no official option to do this, I will appreciate a hint about the >>> spot in the code where I can fix it. >> >> The ?postscript man page suggests that >> >> postscript(file="", command="cat") >> >> should do what you want (or maybe something other than "cat" for the >> passthrough). The file arg is described as a character string, not a >> connection, so I wouldn't expect stdout() to work. For write.table(), the >> arg is defined to be either the name of a file or an open connection. >> >> Duncan Murdoch >> >>> >>> Thanks, >>> >>> --Gene >>> >>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>>> sessionInfo() >>> R version 2.5.1 (2007-06-27) >>> i386-apple-darwin8.10.1 >>> >>> locale: >>> C >>> >>> attached base packages: >>> [1] "stats" "graphics" "grDevices" "utils" "datasets" "methods" >>> [7] "base" >>> >>> ______________________________________________ >>> R-help@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 >>> and provide commented, minimal, self-contained, reproducible code. >> >> > > ______________________________________________ > R-help@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 > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@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 and provide commented, minimal, self-contained, reproducible code.