我在这样的 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
了数据,但实际上我使用了巨大的数据。因此,上述方法(绘制然后重新绘制)确实需要很长时间。
我的问题是:有没有办法明确地绘制图形,然后添加或删除网格而不重新绘制它?
谢谢你。