Dear all I have a code like x<-1:10 y1<-x+runif(10)*2 y2<-seq(0,50,length.out=10)+rnorm(10)*10 par(mfrow=c(1,2)) plot(y1~x) plot(y2~x) Now I would like to plot y1 and y2 on the same graph, with its two scales (y1 on left and y2 on rigth side). Any help are welcome. Kind regards Miltinho Brazil [[alternative HTML version deleted]]
This should do what you want: x<-1:10 y1<-x+runif(10)*2 y2<-seq(0,50,length.out=10)+rnorm(10)*10 plot(y1~x, bty='c') par(new=TRUE) # plot on the same graph plot(y2~x, col='red', axes=FALSE, bty='c', xlab='', ylab='') axis(4, col.axis='red', col='red') mtext("y2", 4, col='red', line=-2) On Wed, Feb 27, 2008 at 5:05 PM, milton ruser <milton.ruser at gmail.com> wrote:> Dear all > > I have a code like > > x<-1:10 > y1<-x+runif(10)*2 > y2<-seq(0,50,length.out=10)+rnorm(10)*10 > > par(mfrow=c(1,2)) > plot(y1~x) > plot(y2~x) > > Now I would like to plot y1 and y2 on the same graph, with its two scales > (y1 on left and y2 on rigth side). > > Any help are welcome. > > Kind regards > > Miltinho > > Brazil > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org 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. >-- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem you are trying to solve? Tell me what you want to do, not how you want to do it.
> Now I would like to plot y1 and y2 on the same graph, with its two scales > (y1 on left and y2 on rigth side).Before you actually do that, you might want to think about if it's a good idea or not. Are you trying to deliberately mislead or confuse your readers? If so, it's a good idea, otherwise it's probably not. You might want to read this "blast from the past": K. W. Haemer. Double scales are dangerous. The American Statistician, 2(3):24?24, 1948. Hadley -- http://had.co.nz/
There is an example in library(zoo) example(plot.zoo) On Wed, Feb 27, 2008 at 5:05 PM, milton ruser <milton.ruser at gmail.com> wrote:> Dear all > > I have a code like > > x<-1:10 > y1<-x+runif(10)*2 > y2<-seq(0,50,length.out=10)+rnorm(10)*10 > > par(mfrow=c(1,2)) > plot(y1~x) > plot(y2~x) > > Now I would like to plot y1 and y2 on the same graph, with its two scales > (y1 on left and y2 on rigth side). > > Any help are welcome. > > Kind regards > > Miltinho > > Brazil > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org 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. >
milton ruser wrote:> Dear all > > I have a code like > > x<-1:10 > y1<-x+runif(10)*2 > y2<-seq(0,50,length.out=10)+rnorm(10)*10 > > par(mfrow=c(1,2)) > plot(y1~x) > plot(y2~x) > > Now I would like to plot y1 and y2 on the same graph, with its two scales > (y1 on left and y2 on rigth side). >Hi Miltinho, twoord.plot in the plotrix package might do the job for you. twoord.plot(x,y1,x,y2) Jim
Apparently Analagous Threads
- changing plot font for Times new roman
- AUC / ROC for presence only.
- add trend line to each group of data in: xyplot(y1+y2 ~ x | grp...
- clicking on plot and recording XY coords
- How to draw a line in plot when I know the start point(x1, y1) and end point(x2, y2)?