[R] how to you use plot to plot multiple time series in one final graph
p.murrell at auckland.ac.nz
Mon Nov 26 22:36:12 CET 2001
> | =========================== A
> | *************************** B
> DIAGRAM 1
> in this contrived example there are two
> series A,B plotted against time. (x axis
> is time)
> problem: if the range for A and B are
> quite different R goes stupid and only
> shows either A or B but not both (depending
> on what plot command came last i think).
> how do you fix that?
> i played around with all sorts of things
> on plot including this last stab:
> A <- c(...)
> B <- c(...)
> # using code NOT shown here I figure out the
> # min, maxes for the X axis and therefore
> # determine the right at and lab arguments
> # for axis
> axis(2,at...) # ditto for Y
> I can routinely get R to do a nice job with the
> X axis with above code BUT not Y. in the axis(2...)
> command the graphics line for the Y axis in the
> plot window goes DOWN beneath the X axis even
> though all Y lables are positive.
> R is too smart to be this crazy? what is my pilot
It *sounds* like you need xlim and ylim. Does this silly example do the
sort of thing you want ... ?
Ax <- sort(runif(100, 1, 200))
Ay <- runif(100, 1, 200)
Bx <- sort(runif(10, 1, 1000))
By <- runif(10, 1, 1000)
plot(Ax, Ay, xlim=range(Ax, Bx), ylim=range(Ay, By), type="l")
lines(Bx, By, lty="dashed")
> i hesitate to ask (and this is NOT my burning
> question) but what would happen if A and B had
> different units. can you make R plot A against the
> left hand side Y axis and B against the right
> hand side axis with appropriately labled and ticked?
Yes; horrible example that hopefully shows the idea ...
par(usr=c(par("usr")[1:2], 0, 1000))
points(seq(1000, 1, length=10), pch=16)
Hope that helps.
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
More information about the R-help