Re: [R] get current plot dimensions?
Learned a new trick. thanks! Zech On Fri, Mar 8, 2013 at 6:41 PM, William Dunlap wdun...@tibco.com wrote: Try using the combination plot.new() ; par(new=TRUE) to advance to the next position in the layout before querying par(pin). Be sure to actually plot something after the par(new=TRUE). E.g., layout(matrix(c(1,2,3,4), nrow=2), width=c(1,3), height=c(1,3)) plot.new() ; par(new=TRUE) par(pin) [1] 0.6624667 0.1623834 plot(10:19, main=One) par(pin) [1] 0.6624667 0.1623834 plot.new() ; par(new=TRUE) par(pin) [1] 0.6624667 3.5415500 plot(20:29, main=Two) par(pin) [1] 0.6624667 3.5415500 Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com -Original Message- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of Not To Miss Sent: Friday, March 08, 2013 5:12 PM To: r-help Subject: [R] get current plot dimensions? Hi R users, I find par(pin) is kind of confusing (or maybe just me?). The manual said it will give The current plot dimensions, '(width,height)', in inches. The word current is the key here. I thought it would give the dimensions of the to-be plot, but it actually gives the dimension of the finished plot: layout(matrix(c(1,2,3,4), nrow=2), width=c(1,3), height=c(1,3)) par(pin) [1] 4.21 3.721324 plot(x) par(pin) [1] 0.7194221 0.2223079 plot(x) par(pin) [1] 0.7194221 3.7213237 plot(x) par(pin) [1] 4.212 0.2223079 plot(x) So, if par(pin) doesn't give to-be plot, how can I get its dimension? Thanks, Zech [[alternative HTML version deleted]] [[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.
Re: [R] get current plot dimensions?
par(mfrow) and, apparently layout(), set things up for the next plot but don't change the settings for the current plot. Hence you need to start a new plot to look at the settings for it. If you don't call par(new=TRUE) then the subsequent call to plot() (which calls the equivalent of plot.new()) will start another plot, leaving a hole in the layout. Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com From: zhenjiang...@gmail.com [mailto:zhenjiang...@gmail.com] On Behalf Of Not To Miss Sent: Saturday, March 09, 2013 6:25 PM To: William Dunlap Cc: r-help Subject: Re: [R] get current plot dimensions? Learned a new trick. thanks! Zech On Fri, Mar 8, 2013 at 6:41 PM, William Dunlap wdun...@tibco.commailto:wdun...@tibco.com wrote: Try using the combination plot.new() ; par(new=TRUE) to advance to the next position in the layout before querying par(pin). Be sure to actually plot something after the par(new=TRUE). E.g., layout(matrix(c(1,2,3,4), nrow=2), width=c(1,3), height=c(1,3)) plot.new() ; par(new=TRUE) par(pin) [1] 0.6624667 0.1623834 plot(10:19, main=One) par(pin) [1] 0.6624667 0.1623834 plot.new() ; par(new=TRUE) par(pin) [1] 0.6624667 3.5415500 plot(20:29, main=Two) par(pin) [1] 0.6624667 3.5415500 Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.comhttp://tibco.com -Original Message- From: r-help-boun...@r-project.orgmailto:r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.orgmailto:r-help-boun...@r-project.org] On Behalf Of Not To Miss Sent: Friday, March 08, 2013 5:12 PM To: r-help Subject: [R] get current plot dimensions? Hi R users, I find par(pin) is kind of confusing (or maybe just me?). The manual said it will give The current plot dimensions, '(width,height)', in inches. The word current is the key here. I thought it would give the dimensions of the to-be plot, but it actually gives the dimension of the finished plot: layout(matrix(c(1,2,3,4), nrow=2), width=c(1,3), height=c(1,3)) par(pin) [1] 4.21 3.721324 plot(x) par(pin) [1] 0.7194221 0.2223079 plot(x) par(pin) [1] 0.7194221 3.7213237 plot(x) par(pin) [1] 4.212 0.2223079 plot(x) So, if par(pin) doesn't give to-be plot, how can I get its dimension? Thanks, Zech [[alternative HTML version deleted]] [[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.
Re: [R] get current plot dimensions?
Try using the combination plot.new() ; par(new=TRUE) to advance to the next position in the layout before querying par(pin). Be sure to actually plot something after the par(new=TRUE). E.g., layout(matrix(c(1,2,3,4), nrow=2), width=c(1,3), height=c(1,3)) plot.new() ; par(new=TRUE) par(pin) [1] 0.6624667 0.1623834 plot(10:19, main=One) par(pin) [1] 0.6624667 0.1623834 plot.new() ; par(new=TRUE) par(pin) [1] 0.6624667 3.5415500 plot(20:29, main=Two) par(pin) [1] 0.6624667 3.5415500 Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com -Original Message- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of Not To Miss Sent: Friday, March 08, 2013 5:12 PM To: r-help Subject: [R] get current plot dimensions? Hi R users, I find par(pin) is kind of confusing (or maybe just me?). The manual said it will give The current plot dimensions, '(width,height)', in inches. The word current is the key here. I thought it would give the dimensions of the to-be plot, but it actually gives the dimension of the finished plot: layout(matrix(c(1,2,3,4), nrow=2), width=c(1,3), height=c(1,3)) par(pin) [1] 4.21 3.721324 plot(x) par(pin) [1] 0.7194221 0.2223079 plot(x) par(pin) [1] 0.7194221 3.7213237 plot(x) par(pin) [1] 4.212 0.2223079 plot(x) So, if par(pin) doesn't give to-be plot, how can I get its dimension? Thanks, Zech [[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.