我有清除工作区的代码:rm(list=ls())
和清除控制台的代码:cat("\014")
是否有用于清除Rstudio中所有图形的代码?
dev.off()
用于关闭当前绘图设备。只要我此时没有打开其他绘图设备,它就会清除RStudio中所有的绘图。如果你有其他绘图设备打开,则可以使用dev.list()
来确定哪个是RStudio的绘图设备。以下代码“应该”可以做到这一点,但我没有进行彻底测试。
dev.off(dev.list()["RStudioGD"])
但是如果你没有做其他事情,只是使用dev.off()
就可以处理它。
dev.off()
只在交互式会话中有效。如果你想在脚本中实现这种行为,应该使用:
graphics.off()
替代方案。
if(!is.null(dev.list())) dev.off()
我通常使用
while (dev.cur()>1) dev.off()
由于我经常使用RGL,因此我经常添加:
while (rgl.cur()) rgl.close()
我已经尝试了这个方法,似乎运行正常,没有报告任何错误:
# Clear all plots
try(dev.off(dev.list()["RStudioGD"]),silent=TRUE)
try(dev.off(),silent=TRUE)
我将来自其他答案的说明与一个关于错误处理的回答合并在一起,这里: