Ошибка отображения PDF-изображений, созданных с помощью R на устройствах iOS - PullRequest
5 голосов
/ 05 февраля 2011

Я делаю несколько графиков в R. Полученные PDF-файлы не отображаются должным образом на устройствах iOS, таких как iPhone. Например, вот примерная фигура ggplot2, созданная в формате PDF:

library(ggplot2)
mpg.eg <- within(mpg[1:74,], {
  model <- reorder(model, cty)
  manufacturer <- reorder(manufacturer, -cty)
})

pdf(file="figures/ios-example.pdf")
p <- qplot(cty, model, data=mpg.eg)
p + facet_grid(manufacturer ~ ., scales="free", space="free") +
  opts(strip.text.y = theme_text())
dev.off()

При просмотре на iPhone точки в точечной диаграмме не отображаются. См., Например, полученный pdf , если вы используете устройство iOS.

Из чтения документов я понимаю, что это, скорее всего, проблема с ограниченной доступностью шрифтов и капризами рендеринга PDF на iOS, а не проблема с созданием PDF в R. Я подумал, что, возможно, встраивание шрифтов в PDF с

embedFonts("figures/ios-example.pdf")

бы разобраться, но это не так. Есть ли что-то, что я могу сделать, чтобы обойти эту проблему с iOS, кроме того, чтобы сделать рисунок доступным в каком-то другом формате?

Ответы [ 2 ]

4 голосов
/ 05 февраля 2011

Вы также можете попробовать сказать R не использовать шрифт Dingbats для рисования точек: pdf(..., useDingbats = F)

4 голосов
/ 05 февраля 2011

embedFonts по умолчанию не встраивает стандартный набор шрифтов PDF и, следовательно, фактически не вносит существенных изменений в ваш пример PDF.Попробуйте вместо этого

embedFonts("figures/ios-example.pdf",
           options="-dSubsetFonts=true -dEmbedAllFonts=true")

и, если , что не работает, добавьте туда "-dPDFSETTINGS=/printer".правильно отображается на единственном устройстве iOS, которое мне нужно передать (iPad, версия ОС 4.2.1).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...