我有许多大型文件,我正在 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 ?)
干杯
皮特
最佳答案
您可以尝试通过添加将图形设备从 pdf 更改为 png
knitr::opts_chunk$set(dev = 'png')
到您的设置块。
或者您可以将其添加到您的输出标题
output:
pdf_document:
dev: png
尝试不同的设备(png、jpg)。也许这会改变大小
关于r - 在不使用外部工具的情况下使用大型数据集时,我可以减少 knitR/ggplot2 中的 pdf 文件大小吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28479012/