將 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。

但 600k 不是大的。我正在寫一本幾乎每頁都有 2 MB PDF 的書。

相關內容