графики ggplot в скриптах не отображаются в Rstudio



у меня странная проблема с Rstudio: если скрипт вызывает функции ggplot2 для отображения графика, то с помощью источник для запуска скрипта не создаются сюжеты. Если я выберу весь скрипт с Ctrl+A, потом запустите текущую строку или выделение (Ctrl+Enter), то участок тут дисплей. Аналогично, ввод команд построения в консоль приводит к правильному выходу.



например:



library(ggplot2)

p = ggplot(mtcars, aes(wt, mpg))
p + geom_point()


будет производить только вывод, если он вставлен в консоль, а не если он получен.



есть и другие вопросы по этому поводу, но ни один из них не является полезным:





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


  • RStudio-ggplot не сохраняет первый участок при печати и сохранении нескольких участков в скрипте был закрыт как дубликат, но это не только не дубликат, но и dev.off() решение не работа ("Error in dev.off() : cannot shut down device 1 (the null device)")


как я могу заставить Rstudio отображать графики, когда сценарий получен? Я использую Rstudio 0.98.1062 и R 3.1.1.

884   2  

2 ответов:

решение заключается в явном вызове print() на ggplot объекта:

library(ggplot2)

p <- ggplot(mtcars, aes(wt, mpg))
p <- p + geom_point()
print(p)

ggplot функция возвращает объект класса ggplot; ggplot2 работает путем перегрузки print функция вести себя по-разному на объектах класса ggplot-вместо того, чтобы печатать их в STDOUT, он создает диаграмму.

все работает хорошо в интерактивном режиме, потому что R предполагает, что большинство команд выполняются через

хотя это довольно старый вопрос. У меня была такая же проблема, и я нашел быстрое решение, если вы хотите использовать кнопку "источник" в окне редактирования R studio.

вы можете просто включить "источник с Эхом "(Ctrl + Shift + Enter) и график показывает, как ожидалось

Comments

    Ничего не найдено.