Ответ 1
за запрос OP:
Можете ли вы вставить вывод getOption("bitmapType")
в свой конфиг? Если это не "cairo
", попробуйте установить его с помощью options(bitmapType="cairo")
и убедитесь, что вы получили ту же ошибку.
Я пытаюсь создать график с полупрозрачной доверительной областью вокруг линии регрессии:
library(car)
library(ggplot2)
library(effects)
mod <- lm(salary~yrs.service+sex, data=Salaries)
yrseff <- as.data.frame(allEffects(mod)[[1]])
ggplot(yrseff, aes(x=yrs.service, y=fit))+
geom_ribbon(aes(ymin=lower, ymax=upper), alpha=.2)+
geom_line(colour="darkgreen", size=2)
Я получаю это сообщение об ошибке:
Предупреждающее сообщение: В grid.Call.graphics(L_polygon, x $x, x $y, index): полупрозрачность не поддерживается на этом устройстве: отображается только один раз на странице
Однако, если я сначала открою pdf-устройство (как в коде ниже), он создает файл pdf с полупрозрачной лентой.
pdf()
ggplot(yrseff, aes(x=yrs.service, y=fit))+
geom_ribbon(aes(ymin=lower, ymax=upper), alpha=.2)+
geom_line(colour="darkgreen", size=2)
dev.off()
В чем может быть проблема? Есть ли способ получить полупрозрачность без сохранения в pdf?
Я использую RStudio на Ubuntu 12.04, и вот моя информация о сеансе.
> sessionInfo()
R version 3.0.3 (2014-03-06)
Platform: i686-pc-linux-gnu (32-bit)
locale:
[1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C LC_TIME=en_CA.UTF-8
[4] LC_COLLATE=en_CA.UTF-8 LC_MONETARY=en_CA.UTF-8 LC_MESSAGES=en_CA.UTF-8
[7] LC_PAPER=en_CA.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] grid stats graphics grDevices utils datasets methods base
other attached packages:
[1] ggplot2_0.9.3.1 car_2.0-19 effects_3.0-0 colorspace_1.2-4
[5] lattice_0.20-27
loaded via a namespace (and not attached):
[1] dichromat_2.0-0 digest_0.6.4 gtable_0.1.2 labeling_0.2
[5] MASS_7.3-29 munsell_0.4.2 nnet_7.3-7 plyr_1.8.1
[9] proto_0.3-10 RColorBrewer_1.0-5 Rcpp_0.11.1 reshape2_1.2.2
[13] scales_0.2.3 stringr_0.6.2 tools_3.0.3
И в случае, если это полезная информация:
getOption("device")
[1] "RStudioGD"
за запрос OP:
Можете ли вы вставить вывод getOption("bitmapType")
в свой конфиг? Если это не "cairo
", попробуйте установить его с помощью options(bitmapType="cairo")
и убедитесь, что вы получили ту же ошибку.
У меня была такая же проблема, как и у OP, но в моем случае установка options(bitmapType="cairo")
не решила проблему.
В моем случае проблема была вызвана тем, что я скомпилировал R вручную из источника без опции --with-cairo
configure (или, вернее: в моей системе не было необходимого пакета libcairo2-dev, --with-cairo
не было эффект). Рекомпиляция R с надлежащей поддержкой cairo исправила проблему. Теперь он работает даже несмотря на то, что getOption("bitmapType")
по-прежнему установлен в значение "Xlib".
У меня возникли аналогичные проблемы при запуске пакетов "dismo" и "ggplot2" в RStudio. Поскольку эта проблема началась после того, как я установил "Ghostscript" в свой Window_64, я удалил все эти папки с моего компьютера, чтобы проверить, нормально ли это работает. RStudio нормально работал без ошибок после удаления "Ghostscript". Однако, используя опционы (bitmapType = "cairo" ) в соответствии с приведенными выше сообщениями, я мог бы решить эту ошибку, но мне приходилось повторно запускать каждый раз для нормального функционирования RStudio.