我有很多大的ish文件,我正在将它们读取到rmarkdown文档中的R中,进行清理,并使用ggplot2进行打印。
大多数文件的大小约为3Mb,数据行数约为80000行,但有些文件的大小为12Mb,数据列数为318406行(Time、Extension、Force)。
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?)
干杯Pete
您可以尝试通过添加将图形设备从pdf更改为png
knitr::opts_chunk$set(dev = 'png')
到您的设置块。
或者你可以将其添加到你的输出标题中
output:
pdf_document:
dev: png
尝试不同的设备(png,jpg)。也许这会改变的大小