交互式绘图–所选点的返回值

时间:2018-08-20 09:50:11

标签: r

下面的代码用于绘制二维图。

plot(1, type="n", xlab="", ylab="", xlim=c(-1, 1), ylim=c(-1, 1))
for (i in 1:100) {
  x<-cos(i)
  y<-sin(i)
  points(x,y)

}

我要实现的是,当我单击绘图上的一个点时,它可以告诉我x, y, i的值。请注意,我必须继续使用for循环将点添加到图中,所以不要删除for循环。

我该如何解决?谢谢。

1 个答案:

答案 0 :(得分:2)

如果只需要单击该图并从给定元素中获取信息,则identify()就足够了。

plot(1, type="n", xlab="", ylab="", xlim=c(-1.1, 1.1), ylim=c(-1.1, 1.1))

i <- 1:50
x <- cos(i/50*pi*2)
y <- sin(i/50*pi*2)

points(x, y, cex=0.8, pch=16, col="hotpink")

id <- identify(x, y, n=4, cex=0.8, 
  labels=paste(round(x, 2), round(y, 2), i, sep=", "))

按esc或右键单击绘图窗口以停止。

enter image description here