Maxwell Reback
2009-Oct-12 22:12 UTC
[R] Invoking par(mfrow...) on an already subdivided plot
I'd like to generate on a single device multiple plots, each of which
contains two plots. Essentially, I've got sub-plots which consist of
two tracks, the upper one displaying gene expression data, and the
lower one mapping position. I'd like to display four of these
two-track sub-plots on one device, but I can't seem to invoke the
par(mfrow=...) or layout(matrix(...)) functions at more than one
level.
I've got something like:
plot.gene<-function(gene){
par(fig=c(0,1,0.3,1)) #expression: track 1
plot(...)
par(fig=c(0,1,0,0.4),new=TRUE) #position: track 2
plot(...)}
plot.multigene<-function(gene,...){
pdf(paste(gene,".pdf",sep=""))
par(mfrow=c(2,2))
tapply(gene,gene, plot.gene)
dev.off()}
The par(mfrow=) in plot.multigene, even when 'new=TRUE', is
disregarded and I just get one sub-plot per page. Suggestions?
(Thanks!)
Maxwell Reback wrote:> I'd like to generate on a single device multiple plots, each of which > contains two plots. Essentially, I've got sub-plots which consist of > two tracks, the upper one displaying gene expression data, and the > lower one mapping position. I'd like to display four of these > two-track sub-plots on one device, but I can't seem to invoke the > par(mfrow=...) or layout(matrix(...)) functions at more than one > level. > > I've got something like: > > plot.gene<-function(gene){ > par(fig=c(0,1,0.3,1)) #expression: track 1 > plot(...) > par(fig=c(0,1,0,0.4),new=TRUE) #position: track 2 > plot(...)} > > plot.multigene<-function(gene,...){ > pdf(paste(gene,".pdf",sep="")) > par(mfrow=c(2,2)) > tapply(gene,gene, plot.gene) > dev.off()} > > The par(mfrow=) in plot.multigene, even when 'new=TRUE', is > disregarded and I just get one sub-plot per page. Suggestions?You are right. You can use grid or other packages in order to use recursive kinds of subdivisions. Uwe Ligges> (Thanks!) > > ______________________________________________ > 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.