From: Robin Hankin <r.hankin_at_noc.soton.ac.uk>

Date: Wed 13 Jul 2005 - 18:33:42 EST

Date: Wed 13 Jul 2005 - 18:33:42 EST

Hi

Ted pointed out that the following does not behave as intended:

*> x = 0.1*(0:20);
**> plot(x,sin(x))
**> lines(x,1.5*cos(x))
*

and presented an alternative method in which ylim was set by hand. I would suggest:

x <- 0.1*(0:20)

y1 <- sin(x)

y2 <- 1.5*cos(x)

plot(c(x,x),c(y1,y2),type="n") lines(x,y1) lines(x,y2)

because this way, the axes are set by the plot() statement, but nothing is plotted.

best wishes

rksh

On 13 Jul 2005, at 09:12, (Ted Harding) wrote:

*>>
**>
*

> Although this is an over-worked query -- for which an answer, given

*> that t="l" has been specified, is to use
**>
**> plot(a,t="l",col="blue",ylim=c(0,10))
**> lines(b,t="l",col="red")
**>
**> there is a more interesting issue associated with it (given that
**> Klebyn has come to it from a Matlab perspective).
**>
**> It's a long time since I used real Matlab, but I'll illustrate
**> with octave which, in this respect, should be identical to Matlab.
**>
**> Octave:
**>
**> octave:1> x = 0.1*(0:20);
**> octave:2> plot(x,sin(x))
**>
**> produces a graph of sin(x) with the y-axis scaled from 0 to 1.0
**> Next:
**>
**> octave:3> hold on
**> octave:4> plot(x,1.5*cos(x))
**>
**> superimposes a graph of 1.5*cos(x) with the y-axis automatically
**> re-scaled from -1 to 1.5.
**>
**> This would not have happened in R with
**>
**> x = 0.1*(0:20);
**> plot(x,sin(x))
**> lines(x,1.5*cos(x))
**>
**> where the 0 to 1.0 scaling of the first plot would be kept for
**> the second, in which therefore part of the additional graph of
**> 1.5*cos(x) would be "outside the box".
**>
**> No doubt like many others, I've been caught on the wrong foot
**> by this more than a few times. The solution, of course (as
**> illustrated in the reply to Klebyn above) is to anticipate
**> what scaling you will need for all the graphs you intend to
**> put on the same plot, and set up the scalings at the time
**> of the first one using the options "xlim" and "ylim", e.g.:
**>
**> x = 0.1*(0:20);
**> plot(x,sin(x),ylim=c(-1,1.5))
**> lines(x,1.5*cos(x))
**>
**> This is not always feasible, and indeed should not be expected
**> to be feasible since part of the reason for using software
**> like R in the first place is to compute what you do not know!
**>
**> Indeed, R will not allow you to use "xlim" or "ylim" once the
**> first plot has been drawn.
**>
**> So in such cases I end up making a note (either on paper or,
**> when I do really serious planning, in auxiliary variables)
**> of the min's and max's for each graph, and then re-run the
**> plotting commands with appropriate "xlim" and "ylim" scaling
**> set up in the first plot so as to include all the subsequent
**> graphs in entirety. (Even this strategy can be defeated if
**> the succesive graphs represent simulations of long-tailed
**> distributions. Unless of course I'm sufficiently alert to
**> set the RNG seed first as well ... )
**>
**> I'm not sufficiently acquainted with the internals of "plot"
**> and friends to anticipate the answer to this question; but,
**> anyway, the question is:
**>
**> Is it feasible to include, as a parameter to "plot", "lines"
**> and "points",
**>
**> rescale=FALSE
**>
**> where this default value would maintain the existing behaviour
**> of these functions, while setting
**>
**> rescale=TRUE
**>
**> would allow each succeeding plot, adding graphs using "points"
**> or "lines", to be rescaled (as in Matlab/Octave) so as to
**> include the entirety of each successive graph?
**>
**> Best wishes to all,
**> Ted.
**>
**>
**> --------------------------------------------------------------------
**> E-Mail: (Ted Harding) <Ted.Harding@nessie.mcc.ac.uk>
**> Fax-to-email: +44 (0)870 094 0861
**> Date: 13-Jul-05 Time: 09:12:34
**> ------------------------------ XFMail ------------------------------
**>
**> ______________________________________________
**> R-help@stat.math.ethz.ch mailing list
**> https://stat.ethz.ch/mailman/listinfo/r-help
**> PLEASE do read the posting guide! http://www.R-project.org/posting-
**> guide.html
**>
*

-- Robin Hankin Uncertainty Analyst National Oceanography Centre, Southampton European Way, Southampton SO14 3ZH, UK tel 023-8059-7743 ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.htmlReceived on Wed Jul 13 18:39:33 2005

*
This archive was generated by hypermail 2.1.8
: Fri 03 Mar 2006 - 03:33:37 EST
*