如何将绘图函数绑定到 R 中的 x11()?
How to bind plot function to x11() in R?
我有一个有无限循环的函数,在它里面绘制了 image
对象,我创建了一个 x11()
window 并在那里绘制了它,但是当我关闭window,该函数在后台保留 运行。我的 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()
window,这样当我关闭 window 时,函数调用也会终止,即从无限循环中中断?
你可以在函数中定义它
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()
关闭前会工作
我有一个有无限循环的函数,在它里面绘制了 image
对象,我创建了一个 x11()
window 并在那里绘制了它,但是当我关闭window,该函数在后台保留 运行。我的 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()
window,这样当我关闭 window 时,函数调用也会终止,即从无限循环中中断?
你可以在函数中定义它
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()
关闭前会工作