Проблема не связана с R или RStudio.
Объяснение проблемы:
Проблема связана с процессом создания и преобразования встроенных изображений в документы Microsoft Word в Mac OS X, а также с тем, как документ затем обрабатывается Microsoft Word в Windows.
Почему?По сути, PDF является родным компонентом системы рисования Apple Quartz.Внутренняя модель обработки изображений Mac OS X Quartz хорошо коррелирует с графиком объектов PDF, что упрощает отображение и управление встроенными изображениями в формате PDF.
Увы, это не относится к операционной системе Windows.[ Это не критика, а просто наблюдение. ] Механизм pdf не включен в Windows, это дополнение.Таким образом, документ Mac OS X Word не будет корректно отображаться в Microsoft Word для Windows.В дополнение к этому, кажется, что нет никакой полезной опции, чтобы иметь OLE-ссылку на PDF.
Пример:
В Mac OS X можно просто перетащитьи поместите изображение в формате PDF в текстовый документ.Отображаемое изображение будет отображаться как:
Теперь, если мы перейдем на ПК с Windows 10 и откроем документ, мы увидим:
Обходной путь:
Рекомендуется обойтись, чтобы сохранить изображения в формате .png или .jpg и вставить их в документ Word.
library(ggplot2)
library(cowplot)
p <- qplot(Sepal.Length, Petal.Length, data = iris, color = Species, size = Petal.Width, alpha = 0.5)
save_plot("plot.pdf",p)
save_plot("plot.png",p)
save_plot("plot.jpg",p)
Результат:
Microsoft Word в Windows 10
Запрошенное дополнение - EPS
Другой рассматриваемый вариант - использовать
ggsave("plot.eps", p, device=cairo_ps, fallback_resolution = 1200)
, это работает, однако в визуализированных изображениях в Windows 10 были замечены полоски.
Неявное преобразование EPS в EMF из-за атаки безопасностиВектор:
По-видимому, страты связаны с неявным диалогом, в котором Word преобразует изображения EPS в формат EMF из-за ограничений безопасности.
https://support.office.com/en-us/article/support-for-eps-images-has-been-turned-off-in-office-a069d664-4bcf-415e-a1b5-cbb0c334a840
Таким образом, вы можете вставить изображение EPS, но оно, похоже, конвертируется в EMF, чтобы блокировать векто атаки EPS Embedded script.rs.
Пример: