[R] multiple plots per page using hist and pdf

Ben Tupper PemaquidRiver at tidewater.net
Wed Feb 27 19:09:10 CET 2008


On Feb 27, 2008, at 11:45 AM, Gavin Simpson wrote:

> On Wed, 2008-02-27 at 11:31 -0500, Ben Tupper wrote:
>> Hello,
>>
>> I am puzzled by the behavior of hist() when generating multiple plots
>> per page on the pdf device. In the following example two pdf files
>> are generated. The first results in 4 plots on one pdf page as
>> expected.  However, the second, which swaps one of the plot() calls
>> for hist(), results in a 4 page pdf with one plot per page.
>>
>> How might I get the histogram with 3 other scatter plots onto a
>> single pdf page?
>
> Look a bit more closely and you'll see what is wrong ;-)
>
> In the second example, you forgot the par(mfrow=c(2,2)) bit, so of
> course there was no split plotting region.
>

Hi,

Oh, for goodness sake! Why are troubles for newbies so prominently  
displayed under the nose?  But it is oh so good to get that sorted out.

> Note that the par(mfrow=c(2,2)) bit in the first version (with all
> plot() calls) pertains to the pdf device you just opened, it doesn't
> persist as you closed that device ofter plotting with dev.off(). In  
> the
> second example you need to change the par again to what you require.
>
> And as a result, your orig.par and par(orig.par) are irrelevant  
> here as
> you didn't change any device that was open when you reset the  
> parameters
> using par(orig.par).
>

OK, so as long as I am working within one device the parameters in par 
() are sticky.  Got it!

Thanks!
Ben



> This is how your second example should have been called:
>
> pdf(file = "hist_and_plots.pdf")
> ## set up the new plotting device (pdf)
> par(mfrow = c(2,2))
> ## draw the plot
> hist(iris$Sepal.Length, main = "Plot 1")
> plot(iris$Petal.Length, iris$Petal.Width, main = "Plot 2")
> plot(iris$Sepal.Length, iris$Petal.Length, main = "Plot 3")
> plot(iris$Sepal.Width, iris$Petal.Width, main = "Plot 4")
> ## close the device to do the drawing
> dev.off()
>
> HTH
>
> G
>
>>
>> platform       powerpc-apple-darwin8.10.1
>> version.string R version 2.6.1 (2007-11-26)
>>
>> Thanks!
>> Ben
>>
>> ###BEGIN
>> data(iris)
>>
>> orig.par = par(no.readonly = TRUE)
>>
>> pdf(file = "just_plots.pdf")
>>
>> par(mfrow=c(2,2))
>>
>> plot(iris$Sepal.Length, iris$Sepal.Width, main = "Plot 1")
>> plot(iris$Petal.Length, iris$Petal.Width, main = "Plot 2")
>> plot(iris$Sepal.Length, iris$Petal.Length, main = "Plot 3")
>> plot(iris$Sepal.Width, iris$Petal.Width, main = "Plot 4")
>>
>> dev.off()
>>
>> pdf(file = "hist_and_plots.pdf")
>>
>> hist(iris$Sepal.Length, main = "Plot 1")
>> plot(iris$Petal.Length, iris$Petal.Width, main = "Plot 2")
>> plot(iris$Sepal.Length, iris$Petal.Length, main = "Plot 3")
>> plot(iris$Sepal.Width, iris$Petal.Width, main = "Plot 4")
>>
>> dev.off()
>>
>>
>> par(orig.par)
>> ###END
>>
>> Ben Tupper
>> PemaquidRiver at tidewater.net
>>
>> I GoodSearch for Ashwood Waldorf School.
>>
>> Raise money for your favorite charity or school just by searching the
>> Internet with GoodSearch - www.goodsearch.com - powered by Yahoo!
>>
>> ______________________________________________
>> 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.
> -- 
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
>  Dr. Gavin Simpson             [t] +44 (0)20 7679 0522
>  ECRC, UCL Geography,          [f] +44 (0)20 7679 0565
>  Pearson Building,             [e] gavin.simpsonATNOSPAMucl.ac.uk
>  Gower Street, London          [w] http://www.ucl.ac.uk/~ucfagls/
>  UK. WC1E 6BT.                 [w] http://www.freshwaters.org.uk
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
>

Ben Tupper
PemaquidRiver at tidewater.net

I GoodSearch for Ashwood Waldorf School.

Raise money for your favorite charity or school just by searching the  
Internet with GoodSearch - www.goodsearch.com - powered by Yahoo!



More information about the R-help mailing list