Use of recordPlot

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Use of recordPlot

Beck, Kenneth (STP)
I am trying to save plots that I create using calls to windows() folowed
by multiple calls to plot to place several plots on a page. I want to
store the plots as variables to be able to recall them later.
The documentation states:
"Recorded plot histories are of class "SavedPlots". They have a print
method, and a subset method.
As the individual plots are of class "recordedplot" they can be replayed
by printing them: see recordPlot.
The active plot history is stored in variable .SavedPlots in the
workspace."

But what does this mean "class SavedPlots"? Is class similar to a class
in C++?
Where are the plot() and metafile(), etc methods for this class?
And if it is saved as a SavedPlots class, then what is a "recordedplot"
class?
Why the two names? Finally, the .SavedPlots does not appear in my
workspace at all.
Where did it go?

Here is a code snippet, why does this not work:
windows();
nf1 <- layout(matrix(1), widths=lcm(6), heights=lcm(6))
par(mfrow=c(2,2));
par (mfg=c(1,1));
plot( ...some stuff...);
par (mfg=c(1,2);
plot(....some more stuff...)
par (mfg=c(2,1);
plot(....some more stuff...)
par (mfg=c(2,2);
plot(....some more stuff...)

plot_save=recordPlot();

# now some more code, doing other stuff, maybe more plots
# now try to replay the saved plot:

replayPlot(plot_save)

This last line gives the following error:
Error in replayPlot(plot_save) :
  A clipboard metafile can store only one figure.

The documentation says that replayPlot() has a print method, so let's
try that: we get the following error:
Error: unexpected symbol in "replayPlot(lm_hr_plot).print"

Can someone help me understand this, and get routines to save and replay
plots?

Thanks in advance...

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Use of recordPlot

Greg Snow-2
You seem to be confusing several issues.

First, being object oriented does not mean that it matches C++ syntax or
that every object is guarenteed to have specific methods.  What lead you
to think that a recordedplot would have a metafile method?  Nothing else
has that method, and the only function I find with metafile is the
win.metafile graphics device.

The difference between SavedPlots and recordedPlot is the same as the
difference between "flock" and "sheep" when talking about a flock of
sheep.  A recordedPlot object is a single plot, a SavedPlots object is a
group of recordedPlot objects (not the plural vs. singular).

Look at the help for "objects" or "ls" (?ls) and look at the 'all.names'
argument to see how to find .SavedPlots

R does not use object.method for method dispatch, trying that is
confusing the parser and that is why you get an error.  Try
method(object) instead.

Also recognize that R follows the philosophy of "Source is Real". For
what you are trying to do, it will probably work better to write a
script or function that creates your plots, then rerun the code when you
want the plots again.  The current mechanism is useful for a quick
paging through plots, but was not meant for much more.  


--
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
[hidden email]
(801) 408-8111
 
 

> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On Behalf Of Beck, Kenneth (STP)
> Sent: Monday, April 21, 2008 4:10 PM
> To: [hidden email]
> Subject: [R] Use of recordPlot
>
> I am trying to save plots that I create using calls to
> windows() folowed by multiple calls to plot to place several
> plots on a page. I want to store the plots as variables to be
> able to recall them later.
> The documentation states:
> "Recorded plot histories are of class "SavedPlots". They have
> a print method, and a subset method.
> As the individual plots are of class "recordedplot" they can
> be replayed by printing them: see recordPlot.
> The active plot history is stored in variable .SavedPlots in
> the workspace."
>
> But what does this mean "class SavedPlots"? Is class similar
> to a class in C++?
> Where are the plot() and metafile(), etc methods for this class?
> And if it is saved as a SavedPlots class, then what is a
> "recordedplot"
> class?
> Why the two names? Finally, the .SavedPlots does not appear
> in my workspace at all.
> Where did it go?
>
> Here is a code snippet, why does this not work:
> windows();
> nf1 <- layout(matrix(1), widths=lcm(6), heights=lcm(6))
> par(mfrow=c(2,2)); par (mfg=c(1,1)); plot( ...some stuff...);
> par (mfg=c(1,2); plot(....some more stuff...) par
> (mfg=c(2,1); plot(....some more stuff...) par (mfg=c(2,2);
> plot(....some more stuff...)
>
> plot_save=recordPlot();
>
> # now some more code, doing other stuff, maybe more plots #
> now try to replay the saved plot:
>
> replayPlot(plot_save)
>
> This last line gives the following error:
> Error in replayPlot(plot_save) :
>   A clipboard metafile can store only one figure.
>
> The documentation says that replayPlot() has a print method,
> so let's try that: we get the following error:
> Error: unexpected symbol in "replayPlot(lm_hr_plot).print"
>
> Can someone help me understand this, and get routines to save
> and replay plots?
>
> Thanks in advance...
>

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Use of recordPlot

Beck, Kenneth (STP)
Thanks for the clarification, this helps a lot, expecially your comment
about "source is real". I will stop my effort to save the graphs
permanently, the scripts don't take long to generate.

But the end of your response hits on the key issue: when I create
several graphs, I would like to be able to use PgUp/PgDn or some other
keystroke to easily scroll through them all in sequence. One of my
scripts now creates 30+ graphs, and to view them I have to mouse to the
list of graphics devices and pick off the list. Your last comment
indicates you can set it up to quick page through lists of graphs.
I just tried adding options(graphics.record=TRUE); to my code, and I now
find the .SavedPlots variable in the work space, but I was hoping to use
replayPlot(.SavedPlots) or something like that to be able to scroll
through the plots, but it does not seem to work.

Why do I not get anything when I ask for help (?.SavedPlots)?

Does this variable contain only those plots for which I call recordPlot?
At times it seems yes (e.g. only a few plots), but then later it seemed
to contain all that were generated by the script (nearly 50). When I
pick Previous/Next Plot or use PgUp/PgDn when viewing a graphcis Device,
the title bar stays on the latest graphics Device number, though the
graph itself may change. But then on further PgUp, I see only the
layout, not the graph.

When I use commands in the console to attempt to show graphs, I get a
warning suggesting the graph was saved in an older format, but I have
the latest R installed (2.6.2):

.SavedPlots[2] or replayPlot(.SavedPlots[2])
Warning message:
In replayPlot(x) : loading snapshot from pre-2.0.0 R version

Is there a simple command or series of commands to add to the script to
enable scrolling through all plots generated by that script? Or maybe
something at the beginning with something else at the end??

Thanks for your help...


-----Original Message-----
From: [hidden email] [mailto:[hidden email]]
On Behalf Of Greg Snow
Sent: Tuesday, April 22, 2008 10:43 AM
To: Beck, Kenneth (STP); [hidden email]
Subject: Re: [R] Use of recordPlot

You seem to be confusing several issues.

First, being object oriented does not mean that it matches C++ syntax or
that every object is guarenteed to have specific methods.  What lead you
to think that a recordedplot would have a metafile method?  Nothing else
has that method, and the only function I find with metafile is the
win.metafile graphics device.

The difference between SavedPlots and recordedPlot is the same as the
difference between "flock" and "sheep" when talking about a flock of
sheep.  A recordedPlot object is a single plot, a SavedPlots object is a
group of recordedPlot objects (not the plural vs. singular).

Look at the help for "objects" or "ls" (?ls) and look at the 'all.names'
argument to see how to find .SavedPlots

R does not use object.method for method dispatch, trying that is
confusing the parser and that is why you get an error.  Try
method(object) instead.

Also recognize that R follows the philosophy of "Source is Real". For
what you are trying to do, it will probably work better to write a
script or function that creates your plots, then rerun the code when you
want the plots again.  The current mechanism is useful for a quick
paging through plots, but was not meant for much more.  


--
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
[hidden email]
(801) 408-8111
 
 

> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On Behalf Of Beck, Kenneth (STP)
> Sent: Monday, April 21, 2008 4:10 PM
> To: [hidden email]
> Subject: [R] Use of recordPlot
>
> I am trying to save plots that I create using calls to
> windows() folowed by multiple calls to plot to place several plots on
> a page. I want to store the plots as variables to be able to recall
> them later.
> The documentation states:
> "Recorded plot histories are of class "SavedPlots". They have a print
> method, and a subset method.
> As the individual plots are of class "recordedplot" they can be
> replayed by printing them: see recordPlot.
> The active plot history is stored in variable .SavedPlots in the
> workspace."
>
> But what does this mean "class SavedPlots"? Is class similar to a
> class in C++?
> Where are the plot() and metafile(), etc methods for this class?
> And if it is saved as a SavedPlots class, then what is a
> "recordedplot"
> class?
> Why the two names? Finally, the .SavedPlots does not appear in my
> workspace at all.
> Where did it go?
>
> Here is a code snippet, why does this not work:
> windows();
> nf1 <- layout(matrix(1), widths=lcm(6), heights=lcm(6))
> par(mfrow=c(2,2)); par (mfg=c(1,1)); plot( ...some stuff...); par
> (mfg=c(1,2); plot(....some more stuff...) par (mfg=c(2,1);
> plot(....some more stuff...) par (mfg=c(2,2); plot(....some more
> stuff...)
>
> plot_save=recordPlot();
>
> # now some more code, doing other stuff, maybe more plots # now try to

> replay the saved plot:
>
> replayPlot(plot_save)
>
> This last line gives the following error:
> Error in replayPlot(plot_save) :
>   A clipboard metafile can store only one figure.
>
> The documentation says that replayPlot() has a print method, so let's
> try that: we get the following error:
> Error: unexpected symbol in "replayPlot(lm_hr_plot).print"
>
> Can someone help me understand this, and get routines to save and
> replay plots?
>
> Thanks in advance...
>

______________________________________________
[hidden email] 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.

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Use of recordPlot

Mike Prager
"Beck, Kenneth (STP)" <[hidden email]> wrote:

To be able to page through plots, open the graphics device with
recording turned on before plotting. Then you can use PageUp and
PageDown keys to see the plots in sequence. The plots are stored
into .SavedPlots.  (AFAIK they cannot be accessed with
replayPlot. I don't use that, but I think it is used when a plot
has been saved into a variable with the recordPlot function.)

To enable this sort of session-specific recording, I use the
following code in an script before plotting:

graphics.off()
windows(record = TRUE)
.SavedPlots <- NULL

* The first line closes any open graphics devices.
* The second line opens a new device (here a windows device, but
you could use X11) with plot recording turned on.
* The third line erases any plots already stored in the
plot-recording history. If you don't do this, they will persist
across script runs and even sessions.

You may need to change the code to suit your own needs.

Does that help?

Mike


 

> [...]
> But the end of your response hits on the key issue: when I create
> several graphs, I would like to be able to use PgUp/PgDn or some other
> keystroke to easily scroll through them all in sequence. One of my
> scripts now creates 30+ graphs, and to view them I have to mouse to the
> list of graphics devices and pick off the list. Your last comment
> indicates you can set it up to quick page through lists of graphs.
> I just tried adding options(graphics.record=TRUE); to my code, and I now
> find the .SavedPlots variable in the work space, but I was hoping to use
> replayPlot(.SavedPlots) or something like that to be able to scroll
> through the plots, but it does not seem to work.
> [...]
> Is there a simple command or series of commands to add to the script to
> enable scrolling through all plots generated by that script? Or maybe
> something at the beginning with something else at the end??

--
Mike Prager, NOAA, Beaufort, NC
* Opinions expressed are personal and not represented otherwise.
* Any use of tradenames does not constitute a NOAA endorsement.

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Use of recordPlot

Beck, Kenneth (STP)
HUGE help, thanks...

-----Original Message-----
From: [hidden email] [mailto:[hidden email]]
On Behalf Of Mike Prager
Sent: Monday, April 28, 2008 12:05 PM
To: [hidden email]
Subject: Re: [R] Use of recordPlot

"Beck, Kenneth (STP)" <[hidden email]> wrote:

To be able to page through plots, open the graphics device with
recording turned on before plotting. Then you can use PageUp and
PageDown keys to see the plots in sequence. The plots are stored into
.SavedPlots.  (AFAIK they cannot be accessed with replayPlot. I don't
use that, but I think it is used when a plot has been saved into a
variable with the recordPlot function.)

To enable this sort of session-specific recording, I use the following
code in an script before plotting:

graphics.off()
windows(record = TRUE)
.SavedPlots <- NULL

* The first line closes any open graphics devices.
* The second line opens a new device (here a windows device, but you
could use X11) with plot recording turned on.
* The third line erases any plots already stored in the plot-recording
history. If you don't do this, they will persist across script runs and
even sessions.

You may need to change the code to suit your own needs.

Does that help?

Mike


 
> [...]
> But the end of your response hits on the key issue: when I create
> several graphs, I would like to be able to use PgUp/PgDn or some other

> keystroke to easily scroll through them all in sequence. One of my
> scripts now creates 30+ graphs, and to view them I have to mouse to
> the list of graphics devices and pick off the list. Your last comment
> indicates you can set it up to quick page through lists of graphs.
> I just tried adding options(graphics.record=TRUE); to my code, and I
> now find the .SavedPlots variable in the work space, but I was hoping
> to use
> replayPlot(.SavedPlots) or something like that to be able to scroll
> through the plots, but it does not seem to work.
> [...]
> Is there a simple command or series of commands to add to the script
> to enable scrolling through all plots generated by that script? Or
> maybe something at the beginning with something else at the end??

--
Mike Prager, NOAA, Beaufort, NC
* Opinions expressed are personal and not represented otherwise.
* Any use of tradenames does not constitute a NOAA endorsement.

______________________________________________
[hidden email] 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.

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Use of recordPlot

Greg Snow-2
In reply to this post by Beck, Kenneth (STP)
My impression of the plot recording in windows was that it was a quick tool to be useful, but not a high priority.  Trying to keep track of 50 plots (and using different plot windows) is pushing it beyond its original intention.  I expect that he core people have higher priorities, so may not even want to look at it for a while.
 
If you want to be able to scroll through 50 or so plots made by a script, I would suggest using the pdf device (or postscript) to write them all to a file, then open the file and use pgup/pgdn to scroll through the graphs.  This is a couple of extra steps, but I think it will work better for you at this point.

________________________________

From: Beck, Kenneth (STP) [mailto:[hidden email]]
Sent: Mon 4/28/2008 8:53 AM
To: Greg Snow; [hidden email]
Subject: RE: [R] Use of recordPlot



Thanks for the clarification, this helps a lot, expecially your comment
about "source is real". I will stop my effort to save the graphs
permanently, the scripts don't take long to generate.

But the end of your response hits on the key issue: when I create
several graphs, I would like to be able to use PgUp/PgDn or some other
keystroke to easily scroll through them all in sequence. One of my
scripts now creates 30+ graphs, and to view them I have to mouse to the
list of graphics devices and pick off the list. Your last comment
indicates you can set it up to quick page through lists of graphs.
I just tried adding options(graphics.record=TRUE); to my code, and I now
find the .SavedPlots variable in the work space, but I was hoping to use
replayPlot(.SavedPlots) or something like that to be able to scroll
through the plots, but it does not seem to work.

Why do I not get anything when I ask for help (?.SavedPlots)?

Does this variable contain only those plots for which I call recordPlot?
At times it seems yes (e.g. only a few plots), but then later it seemed
to contain all that were generated by the script (nearly 50). When I
pick Previous/Next Plot or use PgUp/PgDn when viewing a graphcis Device,
the title bar stays on the latest graphics Device number, though the
graph itself may change. But then on further PgUp, I see only the
layout, not the graph.

When I use commands in the console to attempt to show graphs, I get a
warning suggesting the graph was saved in an older format, but I have
the latest R installed (2.6.2):

.SavedPlots[2] or replayPlot(.SavedPlots[2])
Warning message:
In replayPlot(x) : loading snapshot from pre-2.0.0 R version

Is there a simple command or series of commands to add to the script to
enable scrolling through all plots generated by that script? Or maybe
something at the beginning with something else at the end??

Thanks for your help...


-----Original Message-----
From: [hidden email] [mailto:[hidden email]]
On Behalf Of Greg Snow
Sent: Tuesday, April 22, 2008 10:43 AM
To: Beck, Kenneth (STP); [hidden email]
Subject: Re: [R] Use of recordPlot

You seem to be confusing several issues.

First, being object oriented does not mean that it matches C++ syntax or
that every object is guarenteed to have specific methods.  What lead you
to think that a recordedplot would have a metafile method?  Nothing else
has that method, and the only function I find with metafile is the
win.metafile graphics device.

The difference between SavedPlots and recordedPlot is the same as the
difference between "flock" and "sheep" when talking about a flock of
sheep.  A recordedPlot object is a single plot, a SavedPlots object is a
group of recordedPlot objects (not the plural vs. singular).

Look at the help for "objects" or "ls" (?ls) and look at the 'all.names'
argument to see how to find .SavedPlots

R does not use object.method for method dispatch, trying that is
confusing the parser and that is why you get an error.  Try
method(object) instead.

Also recognize that R follows the philosophy of "Source is Real". For
what you are trying to do, it will probably work better to write a
script or function that creates your plots, then rerun the code when you
want the plots again.  The current mechanism is useful for a quick
paging through plots, but was not meant for much more.


--
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
[hidden email]
(801) 408-8111



> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On Behalf Of Beck, Kenneth (STP)
> Sent: Monday, April 21, 2008 4:10 PM
> To: [hidden email]
> Subject: [R] Use of recordPlot
>
> I am trying to save plots that I create using calls to
> windows() folowed by multiple calls to plot to place several plots on
> a page. I want to store the plots as variables to be able to recall
> them later.
> The documentation states:
> "Recorded plot histories are of class "SavedPlots". They have a print
> method, and a subset method.
> As the individual plots are of class "recordedplot" they can be
> replayed by printing them: see recordPlot.
> The active plot history is stored in variable .SavedPlots in the
> workspace."
>
> But what does this mean "class SavedPlots"? Is class similar to a
> class in C++?
> Where are the plot() and metafile(), etc methods for this class?
> And if it is saved as a SavedPlots class, then what is a
> "recordedplot"
> class?
> Why the two names? Finally, the .SavedPlots does not appear in my
> workspace at all.
> Where did it go?
>
> Here is a code snippet, why does this not work:
> windows();
> nf1 <- layout(matrix(1), widths=lcm(6), heights=lcm(6))
> par(mfrow=c(2,2)); par (mfg=c(1,1)); plot( ...some stuff...); par
> (mfg=c(1,2); plot(....some more stuff...) par (mfg=c(2,1);
> plot(....some more stuff...) par (mfg=c(2,2); plot(....some more
> stuff...)
>
> plot_save=recordPlot();
>
> # now some more code, doing other stuff, maybe more plots # now try to

> replay the saved plot:
>
> replayPlot(plot_save)
>
> This last line gives the following error:
> Error in replayPlot(plot_save) :
>   A clipboard metafile can store only one figure.
>
> The documentation says that replayPlot() has a print method, so let's
> try that: we get the following error:
> Error: unexpected symbol in "replayPlot(lm_hr_plot).print"
>
> Can someone help me understand this, and get routines to save and
> replay plots?
>
> Thanks in advance...
>

______________________________________________
[hidden email] 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.



        [[alternative HTML version deleted]]

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Use of recordPlot

Prof Brian Ripley
On Wed, 30 Apr 2008, Greg Snow wrote:

> My impression of the plot recording in windows was that it was a quick
> tool to be useful, but not a high priority.  Trying to keep track of 50
> plots (and using different plot windows) is pushing it beyond its
> original intention.  I expect that he core people have higher
> priorities, so may not even want to look at it for a while.

It's worse than that.  Plot recording in windows() was the brainchild of
Guido Masarotto, who has not worked on R for many years.  Although other
core members have kept it working, they both feel that a reimplementation
would be needed to make any changes (since Guido's coding style is hard to
follow and is in the spirit of a device design which is no longer
supported).

> If you want to be able to scroll through 50 or so plots made by a
> script, I would suggest using the pdf device (or postscript) to write
> them all to a file, then open the file and use pgup/pgdn to scroll
> through the graphs.  This is a couple of extra steps, but I think it
> will work better for you at this point.
>
> ________________________________
>
> From: Beck, Kenneth (STP) [mailto:[hidden email]]
> Sent: Mon 4/28/2008 8:53 AM
> To: Greg Snow; [hidden email]
> Subject: RE: [R] Use of recordPlot
>
>
>
> Thanks for the clarification, this helps a lot, expecially your comment
> about "source is real". I will stop my effort to save the graphs
> permanently, the scripts don't take long to generate.
>
> But the end of your response hits on the key issue: when I create
> several graphs, I would like to be able to use PgUp/PgDn or some other
> keystroke to easily scroll through them all in sequence. One of my
> scripts now creates 30+ graphs, and to view them I have to mouse to the
> list of graphics devices and pick off the list. Your last comment
> indicates you can set it up to quick page through lists of graphs.
> I just tried adding options(graphics.record=TRUE); to my code, and I now
> find the .SavedPlots variable in the work space, but I was hoping to use
> replayPlot(.SavedPlots) or something like that to be able to scroll
> through the plots, but it does not seem to work.
>
> Why do I not get anything when I ask for help (?.SavedPlots)?
>
> Does this variable contain only those plots for which I call recordPlot?
> At times it seems yes (e.g. only a few plots), but then later it seemed
> to contain all that were generated by the script (nearly 50). When I
> pick Previous/Next Plot or use PgUp/PgDn when viewing a graphcis Device,
> the title bar stays on the latest graphics Device number, though the
> graph itself may change. But then on further PgUp, I see only the
> layout, not the graph.
>
> When I use commands in the console to attempt to show graphs, I get a
> warning suggesting the graph was saved in an older format, but I have
> the latest R installed (2.6.2):
>
> .SavedPlots[2] or replayPlot(.SavedPlots[2])
> Warning message:
> In replayPlot(x) : loading snapshot from pre-2.0.0 R version
>
> Is there a simple command or series of commands to add to the script to
> enable scrolling through all plots generated by that script? Or maybe
> something at the beginning with something else at the end??
>
> Thanks for your help...
>
>
> -----Original Message-----
> From: [hidden email] [mailto:[hidden email]]
> On Behalf Of Greg Snow
> Sent: Tuesday, April 22, 2008 10:43 AM
> To: Beck, Kenneth (STP); [hidden email]
> Subject: Re: [R] Use of recordPlot
>
> You seem to be confusing several issues.
>
> First, being object oriented does not mean that it matches C++ syntax or
> that every object is guarenteed to have specific methods.  What lead you
> to think that a recordedplot would have a metafile method?  Nothing else
> has that method, and the only function I find with metafile is the
> win.metafile graphics device.
>
> The difference between SavedPlots and recordedPlot is the same as the
> difference between "flock" and "sheep" when talking about a flock of
> sheep.  A recordedPlot object is a single plot, a SavedPlots object is a
> group of recordedPlot objects (not the plural vs. singular).
>
> Look at the help for "objects" or "ls" (?ls) and look at the 'all.names'
> argument to see how to find .SavedPlots
>
> R does not use object.method for method dispatch, trying that is
> confusing the parser and that is why you get an error.  Try
> method(object) instead.
>
> Also recognize that R follows the philosophy of "Source is Real". For
> what you are trying to do, it will probably work better to write a
> script or function that creates your plots, then rerun the code when you
> want the plots again.  The current mechanism is useful for a quick
> paging through plots, but was not meant for much more.
>
>
> --
> Gregory (Greg) L. Snow Ph.D.
> Statistical Data Center
> Intermountain Healthcare
> [hidden email]
> (801) 408-8111
>
>
>
>> -----Original Message-----
>> From: [hidden email]
>> [mailto:[hidden email]] On Behalf Of Beck, Kenneth (STP)
>> Sent: Monday, April 21, 2008 4:10 PM
>> To: [hidden email]
>> Subject: [R] Use of recordPlot
>>
>> I am trying to save plots that I create using calls to
>> windows() folowed by multiple calls to plot to place several plots on
>> a page. I want to store the plots as variables to be able to recall
>> them later.
>> The documentation states:
>> "Recorded plot histories are of class "SavedPlots". They have a print
>> method, and a subset method.
>> As the individual plots are of class "recordedplot" they can be
>> replayed by printing them: see recordPlot.
>> The active plot history is stored in variable .SavedPlots in the
>> workspace."
>>
>> But what does this mean "class SavedPlots"? Is class similar to a
>> class in C++?
>> Where are the plot() and metafile(), etc methods for this class?
>> And if it is saved as a SavedPlots class, then what is a
>> "recordedplot"
>> class?
>> Why the two names? Finally, the .SavedPlots does not appear in my
>> workspace at all.
>> Where did it go?
>>
>> Here is a code snippet, why does this not work:
>> windows();
>> nf1 <- layout(matrix(1), widths=lcm(6), heights=lcm(6))
>> par(mfrow=c(2,2)); par (mfg=c(1,1)); plot( ...some stuff...); par
>> (mfg=c(1,2); plot(....some more stuff...) par (mfg=c(2,1);
>> plot(....some more stuff...) par (mfg=c(2,2); plot(....some more
>> stuff...)
>>
>> plot_save=recordPlot();
>>
>> # now some more code, doing other stuff, maybe more plots # now try to
>
>> replay the saved plot:
>>
>> replayPlot(plot_save)
>>
>> This last line gives the following error:
>> Error in replayPlot(plot_save) :
>>   A clipboard metafile can store only one figure.
>>
>> The documentation says that replayPlot() has a print method, so let's
>> try that: we get the following error:
>> Error: unexpected symbol in "replayPlot(lm_hr_plot).print"
>>
>> Can someone help me understand this, and get routines to save and
>> replay plots?
>>
>> Thanks in advance...
>>
>
> ______________________________________________
> [hidden email] 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.
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> [hidden email] 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,                  [hidden email]
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

______________________________________________
[hidden email] 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.