[R] plotting to stdout
Duncan Murdoch
murdoch at stats.uwo.ca
Fri Sep 7 20:27:00 CEST 2007
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 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
>>> and provide commented, minimal, self-contained, reproducible code.
>>
>>
>
> ______________________________________________
> 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
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list