ggplot PDF 影像的部分內容消失

ggplot PDF 影像的部分內容消失

我正在使用tufte-book文檔類別和模板。我一直將ggplot2圖像匯出為 PDF 格式,然後將它們包含在figure環境中的 LaTeX 中。

一切都很順利,直到有一天圖表中的一些點......消失了。它們已存在於文件的先前版本中。具體點形狀 16 inggplot2( 的預設形狀geom_point)不再顯示。其他形狀顯示得很好。我嘗試過重新安裝ggplot2,嘗試擺脫tufte-book(如在reprex中),沒有骰子。我還嘗試使用 xelatex 和 pdflatex 進行建置。這更加令人困惑,因為它用過的工作得很好,我想不出我可能會改變什麼。任何提示將不勝感激。

實際情況如下,僅供參考ggplot2-產生的 PDF,我包括:

實際影像

這是它在我的 LaTeX 文件中的顯示方式(在 tufte-latex 版本中,儘管問題也出現在 reprex 的 documentclass{article} 版本中):

LaTeX 中的影像

這是代碼。我不認為我在這裡做了任何不尋常的事情:

產生圖表:

library(tidyverse)

# Police and crime
library(wooldridge)
data(crime4)

ggplot(crime4, aes(x = polpc, y = crmrte)) + 
  geom_point() + 
  theme_minimal() + 
  scale_x_log10() + 
  scale_y_log10() + 
  labs(x = "Police per Capita (log scale)",
       y = "Crime Rate (log scale)")
ggsave('crime1.pdf', width = 6, height = 5)

以及 LaTeX 文檔本身

\documentclass{article}

\usepackage{graphicx}

\begin{document}

\begin{figure}[h!]
    \caption{Police Presence and Crime Rate by County, North Carolina 1981-1987}
    \label{fig:causaldiagrams-crime1}
    \includegraphics{"crime1.pdf"}
\end{figure}

\end{document}

答案1

抱歉,我無法發表評論,所以我必須回答:您的 LaTex 編輯器中的預覽中或從其他 pdf 檢視器開啟它時編譯的文件中是否缺少點?我遇到了相同的問題,這些點僅在內建TeXmaker pdf 檢視器中遺失,但在其他程式中沒有...在我的情況下,所有圓點({16,19,20,21}中的pch )在R 中生成失蹤了,但似乎只是pdf閱讀器的問題(即它所理解的符號)。嘗試使用正確顯示 PDF 繪圖的相同 pdf 檢視器開啟您編譯的完整文件。如果它有效的話,它一直是pdf檢視器。

此外,請注意,「相同」的 pdf 檢視器的行為可能會有所不同,具體取決於您的作業系統。我首先以為是作業系統的問題,因為 TeXmaker 在 Linux 下顯示了點,但在 Windows 下卻沒有。所以我做了兩次「同樣的事情」卻得到了不同的結果。

我想這就像 Marijin 注意到 R 使用的圓形符號沒有正確顯示的問題一樣。您可以使用建議的cairo_pdf設備代替 pdf,或使用其他符號代替 cicle。您也可以嘗試

geom_text(label = "\u2022", size = 10)

(可能需要套件Unicode(?))。

更新:我還發現將點的不透明度設定為不同於 1 的值(例如在 ggplot 中簡單設定alpha=0.99)將阻止 R 使用「有問題的」ZapfDingbats 字元。可能值得一試,它似乎對我有用。

相關內容