On Jul 30, 2012, at 2:13 PM, Elliot Joel Bernstein wrote:

Is there an easy way to "thin" a lattice plot? I often create plots from large data sets, and use the "pdf" command to save them to a file, but the resulting files can be huge, because every point in the underlying dataset is rendered in the plot, even though it isn't possible to see that much
detail.

For example:

require(Hmisc)
x <- rnorm(1e6)

pdf("test.pdf")
Ecdf(x)
dev.off()

The resulting pdf files is 31MB. Is there any easy way to get a smaller pdf
file without having to manually prune the dataset?

There are plotting routines that display the density of distributions. I use hexbin fairly frequently but that is for 2d plots. If you wanted the ECDF of a 1d vector, you could use cumsum() on the output of hist() or quantile() with suitable arguments to their parameters to control the degree of aggregation. Either of these yields an 8KB file on my machine.

> pdf("test.pdf")
> xyplot( cumsum(hist(x, plot=F)$intensities) ~ hist(x, plot=F) $breaks )
> dev.off()
quartz
     2

> pdf("test.pdf")
> xyplot( (0:100)/100 ~ quantile(x, prob=(0:100)/100)  )
> dev.off()
quartz
     2




Thanks.

- Elliot

--
Elliot Joel Bernstein, Ph.D. | Research Associate | FDO Partners, LLC
134 Mount Auburn Street | Cambridge, MA | 02138
Phone: (617) 503-4619 | Email: elliot.bernst...@fdopartners.com


David Winsemius, MD
Alameda, CA, USA

______________________________________________
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.

Reply via email to