1

我在 R 中使用 gWidgets。我希望在拆分屏幕后并排显示两个图。我无法弄清楚为什么第二个屏幕中没有数据点出现。

library(gWidgets)
win <- gwindow("Graphics example")  # Create a window.
# You will be prompted to select a GUI toolkit.
# Enter "1" for gWidgetsRGtk2
ggraphics(ps=6, container=win)
split.screen(c(1,2))  # Split screen into 2 halves
screen(1)
plot(c(1:10), rnorm(10))
screen(2)
plot(c(1:10), rnorm(10))

您应该看到第二个图出现了,但它不包含数据点。我在 32 位 Windows 笔记本电脑上使用 32 位 R 2.13.2。对此的任何帮助都非常感谢。谢谢你。

4

2 回答 2

1

窗口没有分配足够的初始空间来容纳图形也可能是一个问题。为避免这种情况,请尝试传递visible=FALSEgwindow构造函数,并在添加所有组件后显示窗口visible(win) <- TRUE

于 2012-11-27T23:52:37.133 回答
1

是刷新ggraphics的问题。我认为最好把它放在一个ggroup中。

例如,您可以这样做:

library(gWidgets)
options(guiToolkit="RGtk2") ## "Qt"
w <- gwindow("brush example", visible=FALSE)
g <- ggroup(container=w)
## I create 2 ggraphics , the container is ggroup
gg <- ggraphics(container=g)
gg1 <- ggraphics(container=g)
visible(w) <- TRUE
## Here we create 2 handlers to refresh the plot on the click
## See documentation of gWidgets for other handler
ID <- addHandlerChanged(gg, handler=function(h,...) {
  ## udpate graphic and data frame
  plot(c(1:10), rnorm(10))

})

ID1 <- addHandlerChanged(gg1, handler=function(h,...) {
  ## udpate graphic and data frame
  plot(c(1:10), rnorm(10))

})

在此处输入图像描述

于 2012-11-27T19:23:45.897 回答