【发布时间】:2011-12-13 10:30:00
【问题描述】:
我有一个 R 图,我希望用户能够点击图表上的某个点,并且我想知道他们点击的位置。有点像鼠标监听器。我正在使用 RStudio。这有可能吗?基本上,对于他们点击的某个点,我想显示另一个图,其中包含有关该点的更多详细信息。
这是我所拥有的:
data <- data.frame(x=c(1,2,3,4,5),y=c(1,2,3,4,5))
x11()
plot(data)
loc <- locator(n=1)
if(loc$x > 2) {
x11()
plot(c(1,2,3),c(5,6,7))
}
loc <- locator(n=1)
if(loc$x > 2) {
x11()
plot(c(4,5,6),c(5,6,7))
}
因此,出现了第一个包含 5 个数据点的图。如果用户点击超过 2 的 x 值,那么我想打开另一个图,它绘制您看到列出的数据点(3 个数据点)。然后,如果他们关闭该图并在原始的 5 个数据点图上再次单击 2,那么我希望它使用您在第二个 if 语句中看到的 3 个数据点打开一个新图。
但它给了我错误和 I/O 问题。
【问题讨论】:
-
在运行 R 2.13.1 和 Mac X11 的 Mac-GUI 会话中工作正常。
-
Mac-GUI 会话是什么意思?
-
第二次点击不起作用。只有第一个对我有用。第二次点击什么也不做,即使我在对原始图执行第二次点击之前关闭了出现的第一个 3 数据点图
-
我怎样才能让 x11 的原始情节成为活动情节?
-
您可以使用dev.set、dev.close等函数打开和关闭并设置默认图形窗口。