我已经被困在这个问题上一段时间了,我真的希望有人能伸出援助之手。我试图做的似乎相对简单,但由于某种原因我无法让它工作。我正在尝试将ggmap包中的函数qmap与gwidget2包中的gbutton相关联,这样如果我在一个窗口中按下按钮,我就可以在不同的窗口中启动地图的制作。我在这里看到的最接近的答案涉及使用可见的< - 命令引起对ggraphic的注意 - 这似乎没有帮助。如果我只是在命令提示符中发出生成地图的命令:
QMAP( '加州')
我得到的地图没有问题,只要我定义图形设备正确的位置,但如果我尝试通过按钮按下事件处理来做到这一点,我什么也得不到...这里有一些代码来帮助说明我的问题
require(gWidgets2RGtk2)
require(gWidgetsRGtk2)
require(gWidgets2)
require(cairoDevice)
require(ggmap)
require(ggplot2)
require(rgdal)
require(maptools)
w1 <- gwindow()
w2 <- gwindow()
g1 <- ggroup(cont=w1)
g2 <- ggroup(cont=w2)
b1 <- gbutton('Click Me',cont=g2)
gr1 <- ggraphics(cont=g1)
button_press <- addhandlerchanged(b1, handler=function(h,...) {
qmap('California')
})
答案 0 :(得分:0)
根据评论中的建议,您需要:
button_press <- addhandlerchanged(b1, handler=function(h,...) {
print(qmap('California'))
})