Re: [R] redirect plot device automatically

From: Prof Brian Ripley <ripley_at_stats.ox.ac.uk>
Date: Fri, 4 Jan 2008 02:59:14 +0000 (GMT)

This seems rather complicated. From ?png note that just using

png("myoutput%03d.png")

will cause each subsequent graphics page to generate a separate PNG file. (It 'redirects' as asked for, not copies from the screen.)

On Thu, 3 Jan 2008, jim holtman wrote:

> I have used a function like this to capture the output on the terminal
> to a file:
>
> f.plot <- local({ # this will make PlotNumber 'local' (private)
> PlotNumber <- 1 # initialize the plot number (known just to this function)
> return(function(){ # returns the 'function' as the result
> dev.copy(win.metafile,
> file=fileName <- sprintf("%sws.%03d.wmf", RWS_TEMP, PlotNumber),
> # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> # the fileName uses RWS_TEMP to determine where to store the plots
> width=10, height=7)
> cat(fileName, "\n") PlotNumber <<- PlotNumber + 1 #
> increment for next plot
> invisible(dev.off()) # close the file and don't print return value
> })
> })
>
> This creates a function 'f.plot' that is used as follows: anytime that
> I have created a plot, I just call f.plot to make a copy. It
> increments the file name automatically:
>
> plot(Time, User, main='plot(Time, User)') # default is 'points'
> f.plot()
> plot(Time, User, type="l",
> main='plot(Time, User, type="l")') # line plot
> f.plot()
>
>
> I assume that I will work for 'png' files. If you don't want output
> created, just do
>
> f.plot <- function() invisible(NULL)
>
>
>
>
>
> On Jan 3, 2008 7:47 PM, Milton Cezar Ribeiro <milton_ruser_at_yahoo.com.br> wrote:
>> Dear all,
>>
>> Every time that I need to generate I plot output as figure I use something like
>>
>> png("myoutput.png")
>> plot(rnorm(100)*1.0,col=4)
>> points(rnorm(100)*0.5,col=2,pch=0)
>> dev.off()
>>
>> But now I need to generate a lot of outputs and it could not be done in
>> a for looping where I can change the names. So I would like to know if
>> is there a way of I automatically redirect the output from my screen to
>> a png file, and the name of the generated files follow a prefix and a
>> numeration like myoutput001.png / myoutput002.png....
>>
>> Byt the way, my example is with plot, but I will use plot(x), image(x),
>> points(x), lines(x) etc. Any idea?
>>
>> Kind regards
>> Miltinho
>> Brazil
>>
>>
>>
>> para armazenamento!
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help_at_r-project.org 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.
>>
>
>
>
>

-- 
Brian D. Ripley,                  ripley_at_stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-help_at_r-project.org 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.
Received on Fri 04 Jan 2008 - 03:03:47 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 04 Jan 2008 - 04:30:05 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive