Code to clear all plots in RStudio

前端 未结 5 642
忘了有多久
忘了有多久 2021-01-31 13:19

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?<

相关标签:
5条回答
  • 2021-01-31 13:45

    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:

    0 讨论(0)
  • 2021-01-31 14:03

    I usually use

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

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

    while (rgl.cur()) rgl.close()
    
    0 讨论(0)
  • 2021-01-31 14:09

    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.

    0 讨论(0)
  • 2021-01-31 14:09

    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.

    0 讨论(0)
  • 2021-01-31 14:10

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

    if(!is.null(dev.list())) dev.off()
    
    0 讨论(0)
提交回复
热议问题