0

我有一个带有区域 ggraphics 的 gui,我想创建一个子窗口,其中的图形在区域图形中处于活动状态,但是 dev.copy 和 svalue 不起作用

options(guiToolkit = "RGtk2")
win<- gwindow ("window", width=1350,height=680,parent=c(1,1))
buttongraph<-gbutton("Click for enlarge graph",cont=win)
wingraphic<- ggraphics(cont=win)
hist(rnorm(100))
addHandlerChanged(buttongraph,handler=function(h,...){
subwin<- gwindow("subwin")
subwingraph<-ggraphics(cont=subwin)
svalue(wingraphic)
})

或者

dev.copy(wingraphic)
4

1 回答 1

0

该调用svalue(wingraphic) <- "filename.png"尝试使用一些 Gtk 调用来生成图形。它很脆弱,如果文件中的注释仍然准确,则需要揭开设备。可能对你有用,但可能不会。

ggraphics 小部件只是cairoDevice打开新图形设备的前端。如果它是当前设备,则调用将是dev.copy(),而不是dev.copy(wingraphic)对对象dev.copy一无所知。gWidgets如果您想获取给定ggraphics对象的设备,您可以使用: 来获取它getToolkitWidget(g)$getData(".devnum"),但您需要先加载RGtk2

如果您只想将给定ggraphics实例设为当前设备,则可以使用visible(subwingraph) <- TRUE.

于 2013-07-09T01:33:42.993 回答