我正在使用tufte-book
documentclass 和模板。我一直将ggplot2
图像导出为 PDF 格式,然后在figure
环境中将它们包含在 LaTeX 中。
一切都很顺利,直到有一天,图表中的一些点突然消失了。它们在文档的先前版本中是存在的。具体来说,点形状 16 位于ggplot2(默认形状geom_point
)不再显示。其他形状显示正常。我尝试重新安装ggplot2,试图摆脱tufte-book
(如 reprex 中所示),没有成功。我也尝试过使用 xelatex 和 pdflatex 进行构建。这更加令人困惑,因为它用过的运行正常,我想不出我还可以做哪些更改。任何建议都将不胜感激。
作为参考,这是实际的ggplot2- 生成的 PDF 包括:
以下是它在我的 LaTeX 文档中的显示方式(在 tufte-latex 版本中,尽管该问题也出现在 reprex 中的 documentclass{article} 版本中):
这是代码。我认为我在这里没有做任何不寻常的事情:
生成图表:
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
抱歉,我无法评论,所以我必须回答:当您从另一个 pdf 查看器打开编译后的文档时,预览中的点是否丢失?我遇到了同样的问题,这些点只在内置的 TeXmaker pdf 查看器中丢失,在其他程序中没有丢失……在我的情况下,R 中生成的所有圆形点({16, 19, 20, 21} 中的 pch)都丢失了,但似乎只是pdf 查看器的一个问题(即它能理解的符号)。尝试使用正确显示绘图 pdf 的同一 pdf 查看器打开您编译的完整文档。如果它有效,则始终是 pdf 查看器。
此外,请注意,“相同”的 PDF 查看器可能会因操作系统的不同而有不同的表现。我最初以为是操作系统的问题,因为 TeXmaker 在 Linux 下显示点,但在 Windows 下不显示。所以我做了两次“同样的事情”,但结果不同。
我想这就像 Marijin 提到的一个问题,R 使用的圆圈符号无法正确显示。您可以使用建议的cairo_pdf
设备代替 pdf,或者使用其他符号代替圆圈。您也可以尝试
geom_text(label = "\u2022", size = 10)
(可能需要包Unicode
(?))。绘制文本而不是点,您可以尝试不同的符号或字符系列。
更新:我还发现,将点的不透明度设置为不同于 1 的值(例如,在 ggplot 中只需设置alpha=0.99
)将阻止 R 使用“有问题的” ZapfDingbats 字符。可能值得一试,它似乎对我有用。