[R] graphics history

Duncan Murdoch murdoch at stats.uwo.ca
Mon Apr 21 15:04:17 CEST 2008


On 4/21/2008 8:16 AM, Prof Brian Ripley wrote:
> On Mon, 21 Apr 2008, Duncan Murdoch wrote:
> 
>> On 21/04/2008 4:59 AM, Norbert NEUWIRTH wrote:
>>> dear useRs and developeRs,
>>>
>>> I am afraid it is a very basic question, but I did not find anything alike in the literature.
>>>
>>> The R standard graphics device shows the opportunity to activate the 
>>> history of plots drawn within the current session. Th user can scroll 
>>> back and see the last graphs (or same graph with some changes in 
>>> parameters). I did not find out yet how to activate the history by 
>>> code.  Any ideas?
>>
>> When you open the window, use windows(record=TRUE).
>>
>> If you want this to happen by default, write your own wrapper for the
>> windows() graphics device:
>>
>>  windows <- function(..., record=TRUE)
>>     grDevices::windows(..., record=record)
> 
> Or in 2.7.0, windows.options(record=TRUE) sets this for the session.
> You can set this in a .Rprofile file by (untested, I am not on Windows)
> 
> setHook(packageEvent("grDevices", "onLoad"),
>          function(...) grDevices::windows.options(record=TRUE)
>          )
> 
>> One thing I'd like to do, but didn't have time to implement before
>> 2.7.0, is to have history set to some finite size, e.g. a default might
>> be the last 3 or 10 plots.  The problem with record=TRUE is that it
>> keeps a record of all the plots, so memory use just increases and increases.
> 
> Why not just startup another device with record=FALSE?

I'd like to have recording always on, but I don't need an infinite 
history.  But this isn't urgent enough to have prodded me into writing 
it before now.

Duncan Murdoch



More information about the R-help mailing list