[R] How to restore and edit saved graphics?
Prof Brian Ripley
ripley at stats.ox.ac.uk
Sun May 16 21:40:12 CEST 2004
Unfortunately a bug has been introduced into the recordPlot/replayPlot
internal code, so what is saved is the current display list and not a
snapshot. (For cognescenti, especially Paul M: duplicate() is required or
the saved object will get a pointer to the actual display list.) There are
many ways to work around this, but using save/load is a good one.
In R-patched you can just do
plot(1:10)
myplot <- recordPlot()
title(main="My Title")
myplot
title(main="My Other Title")
but in R 1.9.0 you need to do something like
plot(1:10)
myplot <- recordPlot()
save("myplot", file="myplot")
title(main="My Title")
load("myplot")
myplot
title(main="My Other Title")
On Sun, 16 May 2004, Prof Brian Ripley wrote:
> The display list on a screen device is enabled unless you explicitly
> disable it, and if you know how to do that you will understand the help
> for recordPlot, which says that it saves the display list so there had
> better be one.
>
> I suspect only a handful of R users have ever used dev.control and I am
> not one of them. I only added the ability to re-enable the display list
> for a single user's very specific problem.
>
> On Sun, 16 May 2004, Shin, Daehyok wrote:
>
> > Thanks for the interesting solution.
>
> But it is not a solution. You asked how to `restore and edit saved
> graphs'. recordPlot saves graphs, and does not allow you to edit them.
>
> > I am happy to find a way to save all graphic options into a file.
> > There is a minor glitch.
> > Is there is any way to replace title, not to overwrite it?
> > And if I want to change the color of a line or the ranges of x or y axis,
> > how can I do it with the restored plot?
> >
> > Interestingly, there is no mention about dev.control() in the help document
> > of recordPlot(). I think it should be there.
>
> See above.
>
> > Thanks again.
> >
> > Daehyok Shin (Peter)
> >
> > > -----Original Message-----
> > > From: r-help-bounces at stat.math.ethz.ch
> > > [mailto:r-help-bounces at stat.math.ethz.ch]On Behalf Of Gabor Grothendieck
> > > Sent: Saturday, May 15, 2004 PM 11:59
> > > To: r-help at stat.math.ethz.ch
> > > Subject: Re: [R] How to restore and edit saved graphics?
> > >
> > >
> > > Saving of the low level graphics that R displays can be
> > > 1. turned on with dev.control(displaylist="enable") and
> > > 2. turned off with dev.control(displaylist="inhibit").
> > > recordPlot() can be used to save the display list in a variable.
> > >
> > > For example:
> > >
> > > # turn on display list, perform plot, turn off display list, add title
> > > # do not need next line if graphics device already active
> > > windows() # or x11() on unix
> > > dev.control(displaylist="enable")
> > > plot(1:10)
> > > myplot <- recordPlot()
> > > dev.control(displaylist="inhibit")
> > > title(main="My Title")
> > >
> > > # now redisplay plot as it was before title and reissue title
> > > myplot
> > > title(main="My Other Title")
> > >
> > > Shin <sdhyok <at> email.unc.edu> writes:
> > >
> > > :
> > > : I am looking for a function to restore saved graphics for further
> > > : editing, such as changing its title, labels, or legend.
> > > : How can I do it in R? Thanks in advance.
>
>
--
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
More information about the R-help
mailing list