Code to clear all plots in RStudio

白昼怎懂夜的黑 提交于 2020-11-30 03:51:43

问题


I have code to clear the workspace: rm(list=ls()) and code to clear the console: cat("\014")

Is there code to clear all plots from Rstudio?


回答1:


dev.off() closes the current graphical device. This clears all of the plots for me in RStudio as long as I don't have a different graphical device open at the moment. If you do have other graphical devices open then you can use dev.list() to figure out which graphical device is RStudio's. The following should do that but I haven't tested it thoroughly.

dev.off(dev.list()["RStudioGD"])

But if you aren't doing anything else then just using dev.off() should take care of it.




回答2:


dev.off() only works in an interactive session. If you're interested in implementing such behavior in a script, you should use

graphics.off()

instead.




回答3:


To prevent error message in case there are no plots to clear:

if(!is.null(dev.list())) dev.off()



回答4:


I usually use

while (dev.cur()>1) dev.off()

and since I use RGL a lot, I often add:

while (rgl.cur()) rgl.close()



回答5:


I have gone for this which seems to work without reporting any errors:

# Clear all plots
try(dev.off(dev.list()["RStudioGD"]),silent=TRUE)
try(dev.off(),silent=TRUE)

I merged the instructions from the other answers with an answer on error handling here:



来源:https://stackoverflow.com/questions/22640016/code-to-clear-all-plots-in-rstudio

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!