我有清除工作区的代码:rm(list=ls())
和清除控制台的代码:cat("\014")
是否有代码可以清除Rstudio中的所有图表?
答案 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的答案合并: