代码清除RStudio中的所有图

时间:2014-03-25 16:03:18

标签: r plot rstudio

我有清除工作区的代码:rm(list=ls())和清除控制台的代码:cat("\014")

是否有代码可以清除Rstudio中的所有图表?

5 个答案:

答案 0 :(得分:57)

dev.off()关闭当前的图形设备。只要我目前没有打开不同的图形设备,这就可以清除RStudio中的所有图形。如果您确实打开了其他图形设备,则可以使用dev.list()确定哪个图形设备是RStudio。以下应该这样做,但我没有彻底测试过。

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

但如果你没有做任何其他事情,那么只需使用dev.off()即可。

答案 1 :(得分:22)

dev.off()仅适用于交互式会话。如果您对在脚本中实现此类行为感兴趣,则应使用

graphics.off()

代替。

答案 2 :(得分:5)

如果没有要清除的图表,请防止出现错误消息:

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

答案 3 :(得分:4)

我通常使用

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

因为我经常使用RGL,所以经常添加:

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

答案 4 :(得分:4)

我已经做到了,这似乎没有报告任何错误:

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

我将其他答案中的说明与错误处理here的答案合并: