我有一个有无限循环的函数,在里面画出了image对象,我创建了一个x11()窗口并在那里绘制它,但是当我关闭窗口时,函数继续在后台运行。我的R代码如下所示:
plotInfinite <- function()
{
while(TRUE)
{
mat <- matrix(sample(0:1, 50*50, replace = TRUE), 50, 50)
image(mat)
Sys.sleep(0.1)
}
}
x11()
plotInfinite()是否有可能以某种方式将函数调用绑定到x11()窗口,这样当我关闭窗口时,函数调用也会终止,即从无限循环中断?
发布于 2016-05-16 14:39:40
您可以在函数中定义它,如
plotInfinite <- function()
{
dev=dev.cur() # get cur device name
tt=TRUE
while(tt==TRUE)
{
mat <- matrix(sample(0:1, 50*50, replace = TRUE), 50, 50)
image(mat)
Sys.sleep(0.1)
if(dev!=dev.cur()){ tt=FALSE} #check if device changed
}
}然后
x11()
plotInfinite()将在关闭前工作
https://stackoverflow.com/questions/37255847
复制相似问题