2

我在这样的 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了数据,但实际上我使用了巨大的数据。因此,上述方法(绘制然后重新绘制)确实需要很长时间。

我的问题是:有没有办法明确地绘制图形,然后添加或删除网格而不重新绘制它?

谢谢你。

4

0 回答 0