First, this is not what 'bitmap' is intended for. R has a pdf() device, and on Macs quartz() can produce PDF: producing PostScript and converting it to PDF is cumbersome and you have given us no indication of why you did this (and it is not a good idea for other reasons: see the last para of my reply).

You have experienced a design decision that ps2pdf copied from Acrobat Distiller, which is auto-rotation of pages into PDF. It has puzzled users many times over the years (including on R mailing lists), not least as the defaults in gs were changed not long after I wrote bitmap().

Auto-rotation is done by default page-by-page based on the orientation of all of the text on the page, and in your examples the axis labelling is the only text and is about half/half landscape and portrait. In examples 1 and 3, the axis labeliing differs and the decision is different.

AFAICS you have not told us your version of R (see the R posting guide which asked for it), and there is a typo in some. Look for a line like

                 " -dAutoRotatePages=/None",

in bitmap(). If it does not have a space after the first quote, edit bitmap to add it: this should then suppress auto-rotation.

Finally, a technical point. Although type="pdfwrite" works, it does not set up gs optimally for that conversion and so works less well that simply producing PostScript and calling ps2pdf -- but you will need to suppress auto-rotation there too.


On Tue, 16 Feb 2010, Andrej wrote:

Hi,

I encounter the problem using bitmap function to plot pdf type figures
in an array (calling mfrow function). Consider the following three
examples:

# Example 1
bitmap("test1.pdf", type="pdfwrite", units="mm", height=50, width=100)
par(mfrow=c(1,2))
plot(1:5)
plot(1:10)
dev.off()

# Example 2
pdf("test2.pdf",height=5,width=10)
par(mfrow=c(1,2))
plot(1:5)
plot(1:10)
dev.off()

# Example 3
bitmap("test3.pdf", type="pdfwrite", units="mm", height=50, width=100)
par(mfrow=c(1,2))
plot(rnorm(100))
plot(rnorm(100))
dev.off()

In Example1 the figure is roteted; this is not the case in the Example
3 where I call rnorm() function. Example 2 seems fine. The gs version
installed is:

gs -v
GPL Ghostscript 8.70 (2009-07-31)
Copyright (C) 2009 Artifex Software, Inc.  All rights reserved.

Could somebody reproduce these examples and/or explain me why the
plots in the second example are rotated.

Thanks in advance.

Best, Andrej

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-mac


--
Brian D. Ripley,                  rip...@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

Reply via email to