Я использую tufte-book
documentclass и template. Я экспортировал ggplot2
изображения в формат PDF, а затем включал их в LaTeX в figure
средах.
Все шло хорошо, пока однажды некоторые точки в графиках просто... не исчезли. Они были там в предыдущих сборках документа. А именно, точка формы 16 вggplot2(форма по умолчанию для geom_point
) больше не отображается. Другие формы отображаются нормально. Я пробовал переустановитьggplot2, пытался избавиться от tufte-book
(как в reprex), нет кубиков. Я также пробовал строить с помощью xelatex и pdflatex. Это еще более запутанно, потому что этоиспользовалчтобы все работало нормально, и я не могу придумать, что бы я мог изменить. Буду признателен за любые советы.
Для справки, вот фактическоеggplot2-сгенерированный мной PDF-файл, который я включаю:
и вот как это отображается в моем документе LaTeX (в версии tufte-latex, хотя проблема отображается и в версии documentclass{article} в reprex):
Вот код. Я не думаю, что я делаю здесь что-то необычное:
Чтобы создать график:
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? У меня была та же проблема, и точки отсутствовали только во встроенном просмотрщике PDF TeXmaker, но не в других программах... В моем случае отсутствовали все круглые точки (pch в {16, 19, 20, 21}), созданные в R, но, похоже, это было толькопроблема просмотрщика pdf(т.е. символы, которые он понимает). Попробуйте открыть весь документ, который вы скомпилировали, с помощью того же просмотрщика PDF, который правильно отобразил ваш pdf-файл. Если это сработает, то это был просмотрщик PDF все время.
Кроме того, обратите внимание, что "тот же" просмотрщик PDF может вести себя по-разному в зависимости от вашей ОС. Сначала я подумал, что это ОС, так как TeXmaker показывал точки под Linux, но не под Windows. Поэтому я сделал "то же самое" дважды с разными результатами.
Я полагаю, что это похоже на то, что Marijin отметил вопрос о символе круга, используемом R, который отображается неправильно. Вы можете использовать предложенное cairo_pdf
устройство вместо pdf или использовать другой символ вместо cricle. Вы также можете поэкспериментировать с
geom_text(label = "\u2022", size = 10)
(может потребоваться пакет Unicode
(?)). При построении текста вместо точек можно попробовать использовать различные символы или семейства символов.
Обновление: Я также обнаружил, что установка непрозрачности точек на значение, отличное от 1 (например, в ggplot просто set alpha=0.99
), не позволит R использовать "проблемный" символ ZapfDingbats. Может стоит попробовать, похоже, у меня работает.