[R-SIG-Mac] Problems with savePlot() and postscript under Snow Leopard
David Winsemius
dwinsemius at mac.com
Mon Feb 15 17:40:35 CET 2010
On Feb 15, 2010, at 3:47 AM, Prof Brian Ripley wrote:
> On Sat, 13 Feb 2010, David Winsemius wrote:
>
>>
>> On Feb 13, 2010, at 5:04 PM, David Winsemius wrote:
>>
>>> On Feb 13, 2010, at 4:08 PM, Hannes Nietnagel wrote:
>>>> Thanks David for your reply!
>>>>> species.n <- as.numeric(iris$Species)
>>>>> png("test.png")
>>>>> plot(iris, col = species.n)
>>>>> dev.off()
>>>> That works fine for the png. But I still get the message:
>>>> postscript
>>>> 3
>>>> What does it mean? Is there something wrong with my postscript?
>>> I think it is telling you which graohics device is open for
>>> plotting.
>>>> I still cannot produce a decent .eps file.
>>> From a fresh R session:
>>>> ?quartz
>>> starting httpd help server ... done
>>>> ?postscript
>>>> species.n <- as.numeric(iris$Species)
>>>> png("test.png")
>>>> plot(iris, col = species.n)
>>>> dev.off()
>>> null device
>>> 1
>>>> postscript("test.eps")
>>>> plot(iris, col = species.n)
>>>> dev.off()
>>> null device
>>> 1
>>> I now have two files in my working directory (albeit with
>>> different aspect ratios). The test.eps file can be read by Preview
>>> although it needs to be converted to pdf to be displayed, and
>>> then appears perfectly normal to me. The help page for
>>> postscript() says that single plots are eps by default, so I just
>>> named it to correspond to htat promise. If you post the console
>>> message and describe more fully what you mean by "cannot produce a
>>> decent .eps file", someone might be able to comment more fully.
>>
>> One the other hand, efforts to insert that file into an
>> OpenOffice.org presentation file results in an error: "Unknown
>> graohic format". However, adding 2 out of 3 of the recommended
>> arguments does result in a file that can be inserted. I'm not sure
>> what is wrong either with the three argument effort (see below) or
>> just using the "file=" argument approach.
>>
>>> postscript(file="test.eps",horizontal = FALSE, onefile = FALSE)
>>> plot(iris, col = species.n)
>>> dev.off()
>> null device
>> 1
>>
>> When I try with all three arguments I get an error:
>>
>>> postscript(file="test.eps",horizontal = FALSE, onefile = FALSE,
>>> paper = "special")
>>> plot(iris, col = species.n)
>> Error in plot.new() : figure margins too large
>
> You did not specify the size of the 'special' paper: use width=,
> height=.
>
> If you just use file= you
>
> 1) may get a rotated plot (and will if the factory-fresh default for
> horizontal= is in place).
> 2) get a header that does not declare this is EPS, and some
> including applications will fail to include it (properly or at all).
> 3) get a plot with margins on the default paper size (A4 or US
> letter), which is not what one wants for inclusion.
Thank you. Adding the height and width arguments to the last device
call succeeds in creating a file which OO.org's Impress program is
able to insert.
It is no longer readable by Preview.app, however. I am surmising that
Preview is only able to read postscript files that are "complete" in
some sense.
--
David.
>
>
> --
> Brian D. Ripley, ripley at 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
More information about the R-SIG-Mac
mailing list