Исчезают части изображения ggplot PDF

Исчезают части изображения ggplot PDF

Я использую tufte-bookdocumentclass и template. Я экспортировал ggplot2изображения в формат PDF, а затем включал их в LaTeX в figureсредах.

Все шло хорошо, пока однажды некоторые точки в графиках просто... не исчезли. Они были там в предыдущих сборках документа. А именно, точка формы 16 вggplot2(форма по умолчанию для geom_point) больше не отображается. Другие формы отображаются нормально. Я пробовал переустановитьggplot2, пытался избавиться от tufte-book(как в reprex), нет кубиков. Я также пробовал строить с помощью xelatex и pdflatex. Это еще более запутанно, потому что этоиспользовалчтобы все работало нормально, и я не могу придумать, что бы я мог изменить. Буду признателен за любые советы.

Для справки, вот фактическоеggplot2-сгенерированный мной PDF-файл, который я включаю:

Фактическое изображение

и вот как это отображается в моем документе LaTeX (в версии tufte-latex, хотя проблема отображается и в версии documentclass{article} в reprex):

Изображение в 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? У меня была та же проблема, и точки отсутствовали только во встроенном просмотрщике 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. Может стоит попробовать, похоже, у меня работает.

Связанный контент