我有一些大型文件,我在rmarkdown文档中读入R,清理并使用ggplot2进行绘图。
大多数文件大小约为3Mb,大约有80,000行数据,但有些文件大小为12Mb,有318,406行数据(时间,扩展,强制)。
Time,Extension,Load
(sec),(mm),(N)
"0.00000","0.00000","-4.95665"
"0.00200","0.00000","-4.95677"
"0.00400","0.00000","-4.95691"
"0.10400","-0.00040","-4.95423"
需要一段时间来浏览数据并创建pdf文件(没关系),但PDF文件现在大约有6Mb,其中有大约16个图形(事实上3个图是使用ggplot2的构面图)
据我所知,pdf在我的数据集中包含了每个数据点的线段,因此当我增加图形数量时,文件中的数据量会增加。但是,我并不认为需要钻取进入pdf文档以查看详细程度,当接近10Mb时,我将在发送电子邮件时遇到问题。
如果我使用pdf2ps将pdf转换为ps,然后使用ps2pdf返回pdf,我会得到一个大约是原始pdf大小1/3的文件,质量看起来很棒。
因此,在R / knitR / ggplot2中是否有一种方法可以减少使用外部工具压缩pdf文件的pdf图像中没有绘制的点数? (或以某种方式优化生成的pdf?)
干杯 皮特
答案 0 :(得分:14)
您可以尝试通过添加
将图形设备从 pdf 更改为 pngknitr::opts_chunk$set(dev = 'png')
到您的设置块。
或者您可以将其添加到输出标题
output:
pdf_document:
dev: png
尝试不同的设备(png,jpg)。也许这会改变大小