Hi
Peter Ehlers wrote: > > > Paul Murrell wrote: > >> Hi >> >> >> Duncan Murdoch wrote: >> >>> On 3/23/2006 10:46 AM, Gabor Grothendieck wrote: >>> >>> >>>> On 3/23/06, Duncan Murdoch <[EMAIL PROTECTED]> wrote: >>>> >>>> >>>>> On 3/23/2006 10:29 AM, Gabor Grothendieck wrote: >>>>> >>>>> >>>>>> On 3/23/06, Duncan Murdoch <[EMAIL PROTECTED]> wrote: >>>>>> >>>>>> >>>>>>> On 3/23/2006 7:35 AM, Thomas Steiner wrote: >>>>>>> >>>>>>> >>>>>>>> a) How can I set the recording of all windows()-history forever to >>>>>>>> "true"? I want something like windows(record = TRUE) but not >>>>>>>> just for >>>>>>>> the window that opens then, but for all windows I will open ever. >>>>>>> >>>>>>> >>>>>>> options(graphics.record=TRUE) >>>>>>> >>>>>>> will make that happen for the rest of the session. To really >>>>>>> make it >>>>>>> happen forever, you need to put this line in your Rprofile (see >>>>>>> ?Rprofile for where that comes from). >>>>>>> >>>>>>> Watch out though: the graphics history is stored in your current >>>>>>> workspace in memory, and it can get big. You might find you're >>>>>>> running >>>>>>> out of memory if you store everything, and you'll find your >>>>>>> .RData files >>>>>>> quite large if you save your workspace. >>>>>>> >>>>>>> On my todo list (but not for 2.3.0) is the possibility of setting a >>>>>>> default history length, perhaps defaulting to saving the last 2 or 3 >>>>>>> pages. >>>>>> >>>>>> >>>>>> Would it be feasible to have history on disk or perhaps the last >>>>>> m in memory and the last n (possibly Inf) on disk? >>>>> >>>>> >>>>> The history is just another R object. Saving big R objects on disk >>>>> might be desirable, but it would be a big change, so I'd call it >>>>> infeasible. I wouldn't want to get into special-casing this >>>>> particular >>>>> R object: that way lies madness. >>>>> >>>>> However, since it is just an R object, it's available for R code to >>>>> work >>>>> with, so someone who was interested in doing this could write a >>>>> contributed package that did it. >>>> >>>> >>>> Are there R-level facilities to manipulate the history, not >>>> just the top? >>> >>> >>> >>> Sure, it's a regular R object. You will need to read the source to >>> know how to interpret it, and since it's undocumented there's a risk >>> of changes in future R versions, but it's not very complicated. See >>> my message to Peter. >> >> >> >> >> Be careful with this. The objects that are recorded on the display >> list are calls to graphics functions PLUS state information in a raw >> binary format. The display list was originally intended for reuse >> within the same R session (for redrawing the screen). If you try to >> save it and use it between sessions or (worse) between versions of R >> you could run into some nasty problems. For example, what if the >> graphics function interface has changed? what if the raw binary state >> information format has changed? what if the required packages are not >> installed? At best, your saved object produces errors; at worst it >> becomes completely useless and is unrecoverable. >> >> Paul > > > Paul, > If I read your comments correctly, the problem with manipulating the > graph history is with saved histories across sessions/versions. Is > there any reason not to manipulate it *within* a session? I never > save plots for re-use in R. Re-running code is usually best for me. > But I would find it handy to fiddle with the display list in a > session. That is *one* problem with the display list. Messing directly with the display list *within a session* is *less* dangerous, but R's behaviour if you do that is "undefined". The display list is technically an internal structure for R's internal use. We can't stop you playing with it, but I do not encourage it and it is not officially supported. There are a number of simple things that you could do to the display list that should work, but providing proper support for general manipulations of the display list would require a significant amount of (re)design of the R graphics code. Paul p.s. These comments apply to the display list in R's "graphics engine". The 'grid' package also maintains a display list, and that has been designed to support more general manipulations. -- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 [EMAIL PROTECTED] http://www.stat.auckland.ac.nz/~paul/ ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
