To get what you want with the basic graphics, you probably want something like this (tuned to you data):
a <- rnorm(100) class(a) <- "foo" plot.foo <- function(data){ ## opar<-par() #-- par(mfcol=c(1,2)) hist(data) boxplot(data) ## par(mfcol=c(1,1)) } par(mfcol=c(4,2)) plot(a) plot(a) plot(a) plot(a) On Sat, Apr 4, 2009 at 10:15 AM, Hesen Peng <hesen.p...@gmail.com> wrote: > Hi, > > Thanks a lot for reminding me of this. The original code is too > complicated and stems from several other objects. So I guess this > simplified code may help: > > a <- rnorm(100) > class(a) <- "foo" > > plot.foo <- function(data){ > ## opar<-par() > par(mfcol=c(1,2)) > hist(data) > boxplot(data) > ## par(mfcol=c(1,1)) > } > > par(mfcol=c(2,2)) > plot(a) > plot(a) > plot(a) > plot(a) > > I'm hoping to have 2x2 plots of the plot.foo result. But the par() > argument above seem to be overwriting each other. I tried the code > suggested by Erin ( now in commented area). But it doesn't seem to > work, either. Anyone has any suggestions? Thanks a lot, > > Best wishes, > > On Sat, Apr 4, 2009 at 6:06 AM, Dieter Menne > <dieter.me...@menne-biomed.de> wrote: >> >> >> Hesen Peng-2 wrote: >>> >>> I created a plot function which used par(mfcol=c(2,1)) so that I could >>> have two plots together using just one command. >>> >>> For exampe: >>> >>> plot.foo <- function(data){ >>> par(mfcol=c(2,1)) >>> hist(data) >>> plot(data) >>> } >>> >>> Later I wanted to show 4 of these foo objects in the same picture. So >>> I used par(mfcol=c(2,2)) again at the beginning of the code like: >>> >>> par(mfcol=c(2,2)) >>> plot(foo.1) >>> plot(foo.2) >>> plot(foo.3) >>> plot(foo.4) >>> >>> but this time the par() command inside of the functions seem to be >>> overwriting the par() command at the very begining. Can anyone please >>> give me some advise on dealing with this? I guess that I may either >>> need to change the way I plot foo, e.g. using some function rather >>> than par(), or use some parameters at the beginning. Thank you very >>> much, >>> >> >> Your example starts fine, but does not run because is it unclear what foo.1 >> etc. means. Please really post complete examples, chances are higher you get >> a reasonable answer. >> >> Reading between the lines, I suspect that you mixed up the concepts of >> trellis plots with those of standard plot(). I think you believed that your >> function returns the plot object, which is approximately true for trellis >> where you could use a list of graphics objects and print() or plot() these >> later in a given arrangement with split(). >> >> As an easy solution with standard graphics, I suggest the not-so-elegant one >> below. You should probably adjust the margins a bit to make clear that >> graphs are pairs. >> >> Dieter >> >> data = rnorm(100) >> plot.foo <- function(data){ >> # par(mfcol=c(2,1)) >> hist(data) >> plot(data) >> } >> >> >> par(mfcol=c(4,2)) >> plot.foo(data) >> plot.foo(data) # Use other data here >> plot.foo(data) >> plot.foo(data) >> >> >> -- >> View this message in context: >> http://www.nabble.com/Multiple-use-of-par%28%29-tp22876693p22881832.html >> Sent from the R help mailing list archive at Nabble.com. >> >> ______________________________________________ >> 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. >> > > > > -- > 彭河森 Hesen Peng > http://hesen.peng.googlepages.com/ > > ______________________________________________ > 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 that you are trying to solve? ______________________________________________ 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.