在不使用外部工具的情况下使用大型数据集时,我可以减少 knitR/ggplot2 中的 pdf 文件大小吗?
Can I reduce pdf file size in knitR/ggplot2 when using a large dataset without using external tools?
我有一些大文件,我正在 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,我得到的文件大小约为原始文件大小的 1/3 pdf,质量看起来不错。
因此,在 R/knitR/ggplot2 中是否有一种方法可以减少 pdf 图像中绘制的点数 而无需 使用外部工具来压缩 pdf 文件? (或者以某种方式优化生成的 pdf?)
干杯
皮特
您可以尝试通过添加
将图形设备从 pdf 更改为 png
knitr::opts_chunk$set(dev = 'png')
到你的设置块。
或者您可以将其添加到您的输出中 header
output:
pdf_document:
dev: png
尝试不同的设备(png、jpg)。也许这会改变尺寸
我有一些大文件,我正在 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,我得到的文件大小约为原始文件大小的 1/3 pdf,质量看起来不错。
因此,在 R/knitR/ggplot2 中是否有一种方法可以减少 pdf 图像中绘制的点数 而无需 使用外部工具来压缩 pdf 文件? (或者以某种方式优化生成的 pdf?)
干杯 皮特
您可以尝试通过添加
将图形设备从 pdf 更改为 pngknitr::opts_chunk$set(dev = 'png')
到你的设置块。
或者您可以将其添加到您的输出中 header
output:
pdf_document:
dev: png
尝试不同的设备(png、jpg)。也许这会改变尺寸