графики 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.
2 ответов:
решение заключается в явном вызове
print()на ggplot объекта:library(ggplot2) p <- ggplot(mtcars, aes(wt, mpg)) p <- p + geom_point() print(p)
ggplotфункция возвращает объект класса ggplot; ggplot2 работает путем перегрузкивсе работает хорошо в интерактивном режиме, потому что R предполагает, что большинство команд выполняются через
хотя это довольно старый вопрос. У меня была такая же проблема, и я нашел быстрое решение, если вы хотите использовать кнопку "источник" в окне редактирования R studio.
вы можете просто включить "источник с Эхом "(Ctrl + Shift + Enter) и график показывает, как ожидалось
Comments