将 R ggplot2 图导出到 LaTex

将 R ggplot2 图导出到 LaTex

我通常使用“另存为”PDF 从 R 导出 ggplot2 图,效果很好,然后我使用\includegraphicsLaTex 来包含该图。问题是,这些从 R 导出的 PDF 中的数据量似乎很大,例如每个超过 600K。如果我像这样导出多个 PDF 文档,最终的 PDF 打开起来会非常滞后。

我的问题是:我怎样才能改变 R 或以不同于 LaTex 的方式加载,以便最终文档不那么大,同时图表的质量仍然很高?

答案1

如果最终使用时 PDF 的尺寸比高分辨率的 PNG 尺寸大,则请制作高分辨率 PNG 文件。例如,对于打印页面上的 4 英寸见方的图形,您需要 300dpi x 4 = 1200 像素。因此请执行以下操作:

png(file="plot1.png",width=1200,height=1200)
makemyplot()
dev.off() # close the png file

这个截止点将取决于 PNG 压缩算法可以执行多少以及您有多少重叠的“墨水” - PDF 中的所有墨水都需要空间,但您可以在同一位置对 PNG 执行一百万个点,而它只需要几个字节。

还有各种 PDF 压缩工具,但我猜你使用的是 Windows,而我使用的是 Unix 命令行工具。当我谈论命令行工具时,你可能可以使用 ImageMagick 套件中的“转换”工具将现有 PDF 转换为光栅 PNG。

但 60 万不是很大。我正在写一本书,几乎每一页都有 2 兆字节的 PDF。

相关内容