2013-05-09 1 views
6

Я обновил мою библиотеку ggplot2, и теперь у меня возникла проблема, когда после вызова ggsave графическое устройство больше не отображает график. Я не могу решить проблему, потому что я не могу экспортировать графики по мере необходимости. Пожалуйста помоги.ggplot2 ggsave функция заставляет графическое устройство не отображать графики

Поиск в Интернете выявил некоторые проблемы с рассогласованием dpi, но установка или изменение dpi не оказывает никакого эффекта. Эта проблема, похоже, началась после обновления библиотеки ggplot2.

Следующий код воспроизводит проблему:

library(ggplot2); 
df <- read.table(textConnection('value,value1 
1,1 
2,2 
3,3 '),header=TRUE,sep=','); 

ggplot(df,aes(x=value,y=value1)) + geom_point(); 

setwd('c:/temp'); 
ggsave('test.png'); 

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

После запуска dev.off() новые графики отображаются в порядке, пока не будет вызван ggsave.

sessionInfo() сообщает о версии R и библиотеки, как:

R version 3.0.0 (2013-04-03) 
Platform: i386-w64-mingw32/i386 (32-bit) 

locale: 
[1] LC_COLLATE=English_New Zealand.1252 LC_CTYPE=English_New Zealand.1252 
[3] LC_MONETARY=English_New Zealand.1252 LC_NUMERIC=C       
[5] LC_TIME=English_New Zealand.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] plyr_1.8  ggplot2_0.9.3.1 RODBC_1.3-6  

loaded via a namespace (and not attached): 
[1] colorspace_1.2-2 dichromat_2.0-0 digest_0.6.3  grid_3.0.0   gtable_0.1.2  
[6] labeling_0.1  MASS_7.3-26  munsell_0.4  proto_0.3-10  RColorBrewer_1.0-5 
[11] reshape2_1.2.2  scales_0.2.3  stringr_0.6.2  tools_3.0.0 

Проблема возникает в 2.15.0 и 2.15.3 из R также.

EDIT: изменил код, чтобы данные загружались с использованием сен = «» вместо пробела

КРОМЕ: дальнейшее тестирование показывает, что это на самом деле может быть ошибка с RStudio и как он отображает графическое устройство после ggsave , а не R. Выполнение вышеуказанного скрипта в RGui не воспроизводит проблему только в RStudio V0.97.336 + V0.97.449.

+5

:-(semi-colons – Dason

+0

Почему полуколонны плохо в R? – Jayden

+0

Они совершенно не нужны, если вы кладете команды на отдельные строки. – Dason

ответ

5

Кажется, проблема с RStudio. Вопрос описан here и here.

Обходной путь заключается в установке RStudio V0.97.311 или обеспечения того, что вы выполняете отдельно ggplot и ggsave (т. Е. Не выбираете и не запускаете вместе в блоке с контролем + ввод).

+0

Эта ошибка была решена с RStudio v0.98.123 – Jayden

Смежные вопросы