The stretching of plot two occurs because you are allotting more space for plot two.
You set Plot 1: mar=c(0,4,4,2) Plot 2: mar=c(0,4,0,2) Plot 3: mar=c(4,4,0,2) In plot one your are dedicating 4 lines to the top margin, in plot three you are dedicating 4 lines to the bottom margin. In plot two, you are not dedicating any lines to either the top or bottom margin. It follows that plot 2 is 4 lines taller than the other plots. The cheapest solution is: Before the plots: par(oma=c(4,0,4,0)) Plot 1: mar=c(0,4,0,2) Plot 2: mar=c(0,4,0,2) Plot 3: mar=c(0,4,0,2) -tgs On Tue, Apr 20, 2010 at 8:58 AM, Kay Cichini <kay.cich...@uibk.ac.at> wrote: > > hello, > > i try to plot 3 graphs which have the same x.axis underneath each other. > i'd > like the plots to be aligned without margings between the boxes and draw a > single x axis beneath the lowest plot. > > i managed to get the alignment by setting par(mar), but the middle box is > stretched > and i cant't figure out how to get around this. par(pin) was my guess, but > this doesn't do the job because it seems to be overridden by par(mar). > > sorry for the long example data, but this was quick at hand.. > > mydata: > ################################################################### > ad<-data.frame( > list(structure(list(pos = structure(c(1L, 1L, 1L, 1L, 2L, 2L, > 2L, 2L), .Label = c("Gaps", "Surroundings"), class = "factor"), > stage = structure(c(4L, 2L, 3L, 1L, 4L, 2L, 3L, 1L), .Label = > c("Alpine_Grassl.", > "Early", "Late", "Pioneer"), class = "factor"), mw = c(12.06293707, > 26.09265735, 37.12287713, 81.53846154, 28.88005449, 68.44004261, > 97.61124961, 100)), .Names = c("pos", "stage", "mw"), class = > "data.frame", row.names = c(NA, > -8L)))) > > seedl<-data.frame( > list(structure(list(pos = structure(c(1L, 1L, 1L, 1L, 2L, 2L, > 2L, 2L), .Label = c("Gaps", "Surroundings"), class = "factor"), > stage = structure(c(4L, 2L, 3L, 1L, 4L, 2L, 3L, 1L), .Label = > c("Alpine_Grassl.", > "Early", "Late", "Pioneer"), class = "factor"), mw = c(24.52797203, > 17.20571096, 41.68401043, 34.03846154, 13.92056379, 9.955734802, > 23.54039945, 26.11543325)), .Names = c("pos", "stage", "mw" > ), class = "data.frame", row.names = c(NA, -8L)))) > > rich<-data.frame( > list(structure(list(pos = structure(c(1L, 1L, 1L, 1L, 2L, 2L, > 2L, 2L), .Label = c("Gaps", "Surroundings"), class = "factor"), > stage = structure(c(4L, 2L, 3L, 1L, 4L, 2L, 3L, 1L), .Label = > c("Alp._Grassl.", > "Early", "Late", "Pioneer"), class = "factor"), n = c(44L, > 44L, 45L, 10L, 44L, 44L, 45L, 10L), mw = c(1.93, 3.59, 4.24, > 6.8, 1.84, 5.61, 7.2, 10.6)), .Names = c("pos", "stage", > "n", "mw"), class = "data.frame", row.names = c(NA, -8L)))) > ################################################################### > windows(5,15) > par(ps=8,mgp=c(2.25,1,0),mfrow=c(3,1)) > ################################################################### > par(mar=c(0,4,4,2)) > > attach(seedl) > plot(c(1:4),mw[1:4],type="o",xaxt="n",xlab="", > ylab="Abundance > (%)",ylim=c(0,100),xlim=c(0.7,4.3),pch=22,bg="white",cex=0.75,las=1) > par(new=T) > plot(c(1:4),mw[5:8],type="o",xaxt="n",xlab="",yaxt="n", > ylab="",ylim=c(0,100),xlim=c(0.7,4.3),pch=15,cex=0.75) > text(0.7,90,adj=0,"Seedlings",font=2) > legend("topright",c("Surr.","Gaps"),bty="n",pch=c(15,0)) > > ################################################################### > par(ps=8,mgp=c(2.25,1,0),mar=c(0,4,0,2)) > > attach(ad) > plot(c(1:4),mw[1:4],type="o",xaxt="n",xlab="", > ylab="Abundance > (%)",ylim=c(0,100),xlim=c(0.7,4.3),pch=22,bg="white",cex=0.75,las=1) > par(new=T) > plot(c(1:4),mw[5:8],type="o",xaxt="n",xlab="",yaxt="n", > ylab="",ylim=c(0,100),xlim=c(0.7,4.3),pch=15,cex=0.75) > > text(0.7,90,adj=0,"Adults",font=2) > ################################################################### > par(ps=8,mgp=c(2.25,1,0),mar=c(4,4,0,2)) > > attach(rich) > plot(c(1:4),mw[1:4],type="o",xaxt="n",xlab="", > ylab="Abundance > (%)",ylim=c(0,12),xlim=c(0.7,4.3),pch=22,bg="white",cex=0.75,las=1) > par(new=T) > plot(c(1:4),mw[5:8],type="o",xaxt="n",xlab="",yaxt="n", > ylab="",ylim=c(0,12),xlim=c(0.7,4.3),pch=15,cex=0.75) > axis(1,at=c(1:4),labels=c(rep("",4))) > axis(1,at=c(1:4),line=1.2,lwd=0,adj=0,hadj=0.5,padj=0.5,las=2, > labels=c("Pioneer","Early","Late","Alpine\nGrassland")) > text(0.7,11,adj=0,"Richness",font=2) > ################################################################### > dev.off() > -- > View this message in context: > http://n4.nabble.com/multiple-plots-problem-tp2017326p2017326.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. > [[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.