[R] Plotting 27 line plots in one page
Dear group, I am a novice programmer in R. I have a list that has a length of 27 elements. Each element is derived from table function. lls - table(drres) legnth(lls) 27 I want to plot all these elements in 9x3 plot (9 rows and 3 columns) par(9,3) mypltfunc - function(mydata){ + for (i in 1:27){ + plot(unlist(mydata[i])) + } + } mypltfunc(lls) In the graphics window, all 27 figures are drawn in fraction of sec, one by one and I get to see the last graph. It is not drawing into this 9X3 grid. Could any one help me please. Thanks sri __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Re: [R] Plotting 27 line plots in one page
I want to plot all these elements in 9x3 plot (9 rows and 3 columns) par(9,3) You need to specify what par you want - see ?par for details. In this case, either par(mfrow=c(9,3)) or par(mfcol=c(9, 3)) will do what you want. Sarah -- Sarah Goslee http://www.stringpage.com [[alternative HTML version deleted]] __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Re: [R] Plotting 27 line plots in one page
hi sarah, thanks for your mail. # par(mfrow=c(9,3)) mypltfunc(lls) Error in plot.new() : figure margins too large par(mfcol=c(9, 3)) mypltfunc(lls) Error in plot.new() : figure margins too large ## unfortunately I had this problem before. Thats the reason, I went on using more simply, par(9,3). I tried the following too, although, truely I did not understand the much after doing ?par: mar = c(1,1,1,1) oma = c(1,1,1,1) par(mar,oma) [[1]] NULL [[2]] NULL mypltfunc(lls) By doing this the problem turned out that it printed all 27 figures, one after other in fraction of second, and I see the last figure. given my background (molecular biology) sometimes it is very very difficult to understand the documentation due to terminology problem. thanks sri --- Sarah Goslee [EMAIL PROTECTED] wrote: I want to plot all these elements in 9x3 plot (9 rows and 3 columns) par(9,3) You need to specify what par you want - see ?par for details. In this case, either par(mfrow=c(9,3)) or par(mfcol=c(9, 3)) will do what you want. Sarah -- Sarah Goslee http://www.stringpage.com __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Re: [R] Plotting 27 line plots in one page
Try par( mfrow=c(9,3) ) for(i in 1:27) plot( lls[[i] ) but I think it might be a little crowded to put 9 rows in a page. Also check out the lattice package which is bit more complicated to learn but gives prettier output. Regards, Adai On Thu, 2006-02-09 at 11:52 -0800, Srinivas Iyyer wrote: Dear group, I am a novice programmer in R. I have a list that has a length of 27 elements. Each element is derived from table function. lls - table(drres) legnth(lls) 27 I want to plot all these elements in 9x3 plot (9 rows and 3 columns) par(9,3) mypltfunc - function(mydata){ + for (i in 1:27){ + plot(unlist(mydata[i])) + } + } mypltfunc(lls) In the graphics window, all 27 figures are drawn in fraction of sec, one by one and I get to see the last graph. It is not drawing into this 9X3 grid. Could any one help me please. Thanks sri __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Re: [R] Plotting 27 line plots in one page
This works : # simulate some data mylist - list(NULL) for(i in 1:27) mylist[[i]] - rnorm( rpois( 1, lambda=20 ) ) # execute par( mfrow=c(9,3) ) par(mar = c(1,1,1,1), oma = c(1,1,1,1)) for(i in 1:27) plot( mylist[[i]] ) Also if you just want to plot the distribution values etc, then you can also try different possibilities such as boxplot( mylist ) Regards, Adai On Thu, 2006-02-09 at 14:05 -0800, Srinivas Iyyer wrote: hi sarah, thanks for your mail. # par(mfrow=c(9,3)) mypltfunc(lls) Error in plot.new() : figure margins too large par(mfcol=c(9, 3)) mypltfunc(lls) Error in plot.new() : figure margins too large ## unfortunately I had this problem before. Thats the reason, I went on using more simply, par(9,3). I tried the following too, although, truely I did not understand the much after doing ?par: mar = c(1,1,1,1) oma = c(1,1,1,1) par(mar,oma) [[1]] NULL [[2]] NULL mypltfunc(lls) By doing this the problem turned out that it printed all 27 figures, one after other in fraction of second, and I see the last figure. given my background (molecular biology) sometimes it is very very difficult to understand the documentation due to terminology problem. thanks sri --- Sarah Goslee [EMAIL PROTECTED] wrote: I want to plot all these elements in 9x3 plot (9 rows and 3 columns) par(9,3) You need to specify what par you want - see ?par for details. In this case, either par(mfrow=c(9,3)) or par(mfcol=c(9, 3)) will do what you want. Sarah -- Sarah Goslee http://www.stringpage.com __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html