On Jun 15, 2013, at 11:14 AM, Birdada Simret wrote: > Thank you. > @David: The example is exactly this: > time <- seq(0,72,6) > music <- c(0.05,0.18,0.25,0.31,0.32,0.34,0.35, > 0.36,0.37,0.38,0.39,0.40,0.41) > actor <- c(0,1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,11000,12000) > par(mar=c(5, 4, 4, 4) + 0.1) > plot(time, music, pch=16, axes=F, ylim=c(0,1), xlab="", ylab="", > type="b",col="black", main="Enjoy") > axis(2, ylim=c(0,1),col="black") > mtext("Music",side=2,line=2.5) > box() > par(new=T) > plot(time, actor, pch=15, xlab="", ylab="", ylim=c(0,13000), axes=F, > type="b", col="red") > mtext("Actor",side=4,col="red",line=2.5) > axis(4, ylim=c(0,13000), col="red",col.axis="red") > axis(1,pretty(range(time),10)) > mtext("Time (Hours)",side=1,col="black",line=2.5) > legend(5,13000,legend=c("Music","Actor"),text.col=c("black","red"),pch=c(16,15),col=c("black","red")) > > Now, what if time is replaced by month <- > c("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Pag") > > when I tried" > I got error like > "In pretty.default(range(month), 10) : NAs introduced by coercion" I am > newbie to R ;) many thanks
Er, Not really. The error was the line above that warning: "Error in plot.window(...) : need finite 'xlim' values In addition: Warning messages: 1: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion 2: In min(x) : no non-missing arguments to min; returning Inf 3: In max(x) : no non-missing arguments to max; returning -Inf" You are sending a character vector to plot() as the first argument, and plotting dispatch system cannot find a 'plot.character' method so it sends it to 'plot.default' which is expecting a numeric vector for x and things all fall apart from there. You could use: seq_along(month) # instead of month (And obviously the xlab would need to be changed, since you are no longer working with "Hours".) And. Please learn to post in plain text. -- David > @Arun, It is really helpful, thank you. though only the red marked plot is > perfectly shown. > > > On Sat, Jun 15, 2013 at 6:20 PM, arun <smartpink...@yahoo.com> wrote: > >> >> >> Hi, >> >> You could use ?twoord.plot() from library(plotrix): >> library(plotrix) >> dat2<- data.frame(month,music,actor) >> dat2$month<- factor(month,labels=c(month.abb,"Pag")) >> dat2New<-dat2[order(dat2$month),] >> >> with(dat2New,twoord.plot(month,music,actor, >> lylim=c(0,1),rylim=c(0,13000), >> ylab="Music", >> rylab="Actor",main="Enjoy", >> >> type=c("p","b"),lcol=1,rcol="red",xtickpos=month,xticklab=month)) >> >> legend(5,13000,legend=c("Music","Actor"),text.col=c("black","red"),col=c("black","red")) >> >> #I tried to change the plotting symbol using "pch" inside the >> twoord.plot(), but it seems to be not working. >> with(dat2New,twoord.plot(month,music,actor, >> lylim=c(0,1),rylim=c(0,13000), >> ylab="Music", >> rylab="Actor",main="Enjoy", >> >> type=c("p","b"),pch=c(1,4),lcol=1,rcol="red",xtickpos=month,xticklab=month)) >> #Error in localWindow(xlim, ylim, log, asp, ...) : >> # formal argument "pch" matched by multiple actual arguments >> >> A.K. >> >> >> >> ----- Original Message ----- >> From: Birdada Simret <birdad...@gmail.com> >> To: r-help@r-project.org >> Cc: >> Sent: Saturday, June 15, 2013 8:18 AM >> Subject: [R] Plotting two y-axis vs non-numeric x-axis >> >> Hi dear all, the following code is correct. but I want to use non-numeric >> x-axis, for example >> if I replace time <- seq(0,72,6) by >> month <- >> >> c("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Pag") >> >> Ofcourse I use factor(month) instead of time; but I didn't get similar >> plot as the example shown. any help is greatful ;) >> >> month <- >> >> c("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Pag") >> music <- c(0.05,0.18,0.25,0.31,0.32,0.34,0.35, >> 0.36,0.37,0.38,0.39,0.40,0.41) >> actor <- >> c(0,1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,11000,12000) >> par(mar=c(5, 4, 4, 4) + 0.1) >> plot(factor(month), music, pch=16, axes=F, ylim=c(0,1), xlab="", ylab="", >> type="b",col="black", main="Enjoy") >> axis(2, ylim=c(0,1),col="black") >> mtext("Music",side=2,line=2.5) >> box() >> par(new=T) >> plot(factor(month), actor, pch=15, xlab="", ylab="", ylim=c(0,13000), >> axes=F, type="b", col="red") >> mtext("Actor",side=4,col="red",line=2.5) >> axis(4, ylim=c(0,13000), col="red",col.axis="red") >> axis(1,pretty(range(month),10)) >> mtext("Month",side=1,col="black",line=2.5) >> >> legend(5,13000,legend=c("Music","Actor"),text.col=c("black","red"),pch=c(16,15),col=c("black","red")) >> >> [[alternative HTML version deleted]] >> >> David Winsemius Alameda, CA, USA ______________________________________________ R-help@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.