我在这样的tcl tk窗口中绘制数据。
a <- tktoplevel()
b <- tkrplot(a, function()plot(cars, col="red"))
tkpack(b)
在我的窗口中,我使用复选按钮将图形放入或删除。
require(tcltk)
require(tkrplot)
a <- tktoplevel()
tkbind(a, "<Destroy>", function()if(exists("cbValue"))tclvalue(cbValue) <- "3")
b <- tkrplot(a, function()plot(cars, col="red"))
tkpack(b)
cb <- tkcheckbutton(a)
cbValue <- tclVar("0")
tkconfigure(cb,variable=cbValue)
tkpack(cb)
x <- TRUE
while(x){
tkwait.variable(cbValue)
if(tclvalue(cbValue)=="1")
tkrreplot(b, function(){ plot(cars, col="red"); grid() })
else if(tclvalue(cbValue)=="0")
tkrreplot(b, function()plot(cars, col="red"))
else x <- FALSE
}
我的问题是:在这个例子中,我使用cars
数据但实际上我使用了大量数据。因此,上面的方法(绘图然后重新绘制)需要花费太长时间。
我的问题是:有没有办法定义绘制图形,然后添加或删除网格而不重新绘制它?
感谢你。