Tom, It might be easier to move to a higher order plotting model, like ggplot2 or lattice.
For a similar plot in ggplot2, all you would do is: qplot(mpg, wt, data=mtcars, col=factor(cyl), shape=factor(cyl)) you would need to do some tweaking to get the plot exactly like you want, but the defaults in ggplot have been chosen to have good perceptual properties. And similarly in lattice: xyplot(wt ~ mpg, data=mtcars, group=factor(cyl)) Hadley On 9/21/07, Tom Cohen <[EMAIL PROTECTED]> wrote: > Thanks Jim for the excellent solution. > > Can I make this function more flexible for the usage of different numbers of > parameters? > > Tom > jim holtman <[EMAIL PROTECTED]> skrev: > The simple way is to enclose it in a 'function' and pass parameters. > Assuming that you have the same number of parameters, then the > following will do: > > my.func <- function(x,y,d1,v1,s1,t1,s2,t2,s3,t3,s4,t4,s5,t5) > { > op <- par(bg = "grey97") > par(mfrow=c(1,2)) > plot(d1,v1, pch="v", col="orange",cex=0.6, lwd=2, > xlab="day", ylab="resp",cex.main =1,font.main= 1,main=" Surv > data",ylim=y,xlim=x, > col.main="navyblue",col.lab="navyblue",cex.lab=0.7) > > points(s1,t1, pch="A", col="green4", cex=1) > points(s2,t2, pch="B",col="navyblue", cex=1) > points(s3,t3, pch="C",col="red", cex=1) > points(s4,t4, pch="D",col="darkviolet", cex=1) > points(s5,t5, pch="E",col="blue", cex=1) > legend("topright",lbels,col=c("orange","green4","navyblue","red","darkviolet","blue"), > text.col=c("orange","green4","navyblue","red","darkviolet","steelblue"), > pch=c("v","A","B","C","D","E"),bg='gray100',cex=0.7,box.lty=1,box.lwd=1) > abline(h = -1:9, v = 0:8, col = "lightgray", lty=3) > par(op) > } > > # call it with > > my.func(x,y,d1,v1,s1,t1,s2,t2,s3,t3,s4,t4,s5,t5) > > You might also include the data in a list to make it easier > > > > On 9/20/07, Tom Cohen wrote: > > Dear list, > > > > I have done a scatter plot of multiple variables in the same graph, with > > different col and pch. I managed to do it with the following code but not > > know how to make a function of these so that next time if I want to do > > similar graph but with new variables, I dont have to copy the code and then > > change the old variables with the new ones but just call a function with > > the new variables. I dont have any experience in making a function and > > would be very grateful if you can help me. A function will shorten my prog > > dramatically, since I repeat tthis type of graph alots in my analysis. > > > > Thanks in advance, > > Tom > > > > op <- par(bg = "grey97") > > par(mfrow=c(1,2)) > > plot(d1,v1, pch="v", col="orange",cex=0.6, lwd=2, > > xlab="day", ylab="resp",cex.main =1,font.main= 1,main=" Surv > > data",ylim=y,xlim=x, > > col.main="navyblue",col.lab="navyblue",cex.lab=0.7) > > > > points(s1,t1, pch="A", col="green4", cex=1) > > points(s2,t2, pch="B",col="navyblue", cex=1) > > points(s3,t3, pch="C",col="red", cex=1) > > points(s4,t4, pch="D",col="darkviolet", cex=1) > > points(s5,t5, pch="E",col="blue", cex=1) > > legend("topright",lbels,col=c("orange","green4","navyblue","red","darkviolet","blue"), > > text.col=c("orange","green4","navyblue","red","darkviolet","steelblue"), > > pch=c("v","A","B","C","D","E"),bg='gray100',cex=0.7,box.lty=1,box.lwd=1) > > abline(h = -1:9, v = 0:8, col = "lightgray", lty=3) > > par(op) > > > > > > > > > > --------------------------------- > > > > Jämför pris på flygbiljetter och hotellrum: > > http://shopping.yahoo.se/c-169901-resor-biljetter.html > > [[alternative HTML version deleted]] > > > > > > ______________________________________________ > > 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. > > > > > > > -- > Jim Holtman > Cincinnati, OH > +1 513 646 9390 > > What is the problem you are trying to solve? > > > > --------------------------------- > Låna pengar utan säkerhet. > > [[alternative HTML version deleted]] > > > ______________________________________________ > 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. > > -- http://had.co.nz/ ______________________________________________ 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.