【发布时间】:2013-02-13 02:36:23
【问题描述】:
在开发用于绘制数据和模型结果的 gWidgets 界面时,我创建了一个绘图页面并使用 par(mfrow=c(4,1)) 将 4 个绘图堆叠起来。
第一个图(顶部的简单 y 与 x)工作正常,但循环中的其余 3 个图创建轴但不绘制数据。为了测试代码,我尝试在循环之前打开一个新的绘图窗口,一切正常。
gwdigets 与 plot(...) 的交互中是否有一些有用的信息?
编辑 一个可重现的例子:
不起作用:
library(gWidgets)
options(guiToolkit="RGtk2") ## "Qt"
w <- gwindow("brush example", visible=FALSE)
g <- ggroup(container=w)
gg <- ggraphics(container=g)
addHandlerChanged(gg, handler=function(h,...) {
par(mfrow=c(2,2))
plot(mpg ~ wt, mtcars)
plot(mpg ~ wt, mtcars,col='blue')
plot(mpg ~ wt, mtcars,col='red')
plot(mpg ~ wt, mtcars,col='green')
})
visible(w) <- TRUE
应该看起来像这样(普通的 R 图形窗口:
不是这样的
【问题讨论】:
-
你能提供一些示例代码吗?请阅读:stackoverflow.com/questions/5963269/…
-
@Dason 我添加了一个可重现的示例。
-
这几乎正是我遇到的问题。第一个情节很好,其余的,没有数据。在我的情况下,y 轴刻度缺失,但数字在那里而不是 x 轴。
-
当绘图是在处理程序中而不是直接在代码中创建时,问题似乎就出现了。上面代码框中的示例。