[R] PDF too large, PNG bad quality

Lasse Kliemann lasse-list-r-help-2009 at mail.plastictree.net
Thu Oct 22 21:07:14 CEST 2009


I wish to save a scatter plot comprising approx. 2 million points
in order to include it in a LaTeX document.

Using 'pdf(...)' produces a file of size about 20 MB, which is 
useless.

Using 'cairo_pdf(...)' produces a smaller file, around 3 MB. This 
is still too large. Not only that the document will be too large, 
but also PDF viewers choke on this. Moreover, Cairo has problems 
with text: by default text looks ugly, like scaled bitmaps. After 
hours of trying different settings, I discovered that choosing a 
different font family can help, e.g.: 'par(family="Mono")'. This 
gives good-looking text. Yet, the problem with the file size 
remains.

There exists the hint to produdc EPS instead and then convert to 
PDF using 'epstopdf'. The resulting PDF files are slightly 
smaller, but still too large, and PDF viewers still don't like 
it.

So I gave PNG a try. PNG files are much smaller and PDF viewers 
have no trouble with them. However, fonts look ugly. The same 
trick that worked for Cairo PDF has no effect for PNG. When I 
view the PNGs with a dedicated viewer like 'qiv', even the fonts 
look good. But not when included in LaTeX; I simply use 
'\includegraphics{...}' and run the document through 'pdflatex'.

I tried both, creating PNG with 'png(...)' and converting from 
PDF to PNG using 'convert' from ImageMagick.

So my questions are:

- Is there a way to produce sufficiently lean PDFs directly in R, 
  even when the plot comprises several million points?

- How to produce a PNG that still looks nice when included in a 
  LaTeX PDF document?

Any hints will be greatly appreciated.

Thank you
Lasse
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20091022/9dcabf6b/attachment-0002.bin>


More information about the R-help mailing list