我有一些大型文件,我在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"
Run Code Online (Sandbox Code Playgroud)
这需要一段时间来浏览数据并创建pdf文件(没关系),但PDF文件现在大约有6Mb,其中有大约16个图形(事实上3个图是使用ggplot2的构面图).
据我所知,pdf包含了我的数据集中每个数据点的线段,因此当我增加图形数量时,文件中的数据量会增加.但是,我并不认为需要深入研究pdf文档,以查看详细程度,我将遇到问题,因为它接近10Mb时通过电子邮件发送.
如果我使用pdf2ps将pdf转换为ps,然后使用ps2pdf返回pdf,我得到的文件大约是原始pdf大小的1/3,质量看起来很棒.
因此,在R/knitR/ggplot2中是否有一种方法可以减少pdf图像中绘制的点数,而无需使用外部工具来压缩pdf文件?(或以某种方式优化生成的pdf?)
干杯皮特
Ren*_*rop 16
您可以尝试通过添加将图形设备从pdf更改为png
knitr::opts_chunk$set(dev = 'png')
Run Code Online (Sandbox Code Playgroud)
你的设置块.
或者您可以将其添加到输出标题中
output:
pdf_document:
dev: png
Run Code Online (Sandbox Code Playgroud)
尝试不同的设备(png,jpg).也许这会改变大小