R 将屏幕坐标转换为图形坐标

R 将屏幕坐标转换为图形坐标,r,graphics,plot,device,R,Graphics,Plot,Device,tl;dr:是否有一个函数可以获得与identify()或locator()相同的输出,但不需要鼠标点击(比如鼠标悬停位置) 我正在生成绘图,并将它们保存到PNG文件中,然后将它们嵌入到我的应用程序中。当用户在我的应用程序中与图像交互时,我希望将这些屏幕坐标发送回R中的图形设备,以了解用户在数据坐标中的位置 我需要一个版本的identify()或locator(),它允许我显式地传递鼠标坐标 例如,如果用户停留在像素1000、2000上,他们是否停留在与2015年和出生率90对应的点上 请看一下

tl;dr:是否有一个函数可以获得与
identify()
locator()
相同的输出,但不需要鼠标点击(比如鼠标悬停位置)

我正在生成绘图,并将它们保存到PNG文件中,然后将它们嵌入到我的应用程序中。当用户在我的应用程序中与图像交互时,我希望将这些屏幕坐标发送回R中的图形设备,以了解用户在数据坐标中的位置

我需要一个版本的
identify()
locator()
,它允许我显式地传递鼠标坐标

例如,如果用户停留在像素1000、2000上,他们是否停留在与2015年和出生率90对应的点上


请看一下
?grconvertX
,如果足够小心,您应该可以 应该允许您实现这样的功能

在其中,我使用它和
grconvertY()
从绘图(
“用户”
) 坐标到标准化设备(
“ndc”
)坐标-基本上是 与您可能希望使用的操作相反

–乔什·奥布莱恩2015年4月2日17:05

我发现
'dev'
或设备坐标为我提供了精确的像素
'user'
坐标的值,即图形中的值,因此 走另一条路应该行得通。看起来像是
'ndc'
坐标基本相同,但除以 图像,以便将其规格化到0到1的范围


-Neil Apr 12'15 0:14

这已经超过10年了,所以很可能会有新的发展,但是
fortunes::fortune(30)
。看看
?grconvertX
,如果足够小心的话,它应该允许您实现类似的东西。在其中,我使用它和
grconvertY()
从绘图(
“用户”
)坐标转换为标准化设备(
“ndc”
)坐标——基本上与您可能希望使用的操作相反。Josh,grconvertX工作得非常好!你能把它作为一个答案,所以我把它标记为答案,以帮助未来的搜索者吗?我发现‘dev’或设备坐标给了我‘user’坐标的精确像素值,这是图形中的值,所以反过来应该可以。看起来ndc坐标基本上是一样的,但是除以图像的宽度,然后归一化到0到1的范围,是吗?Gregor,这是我对一个问题最史诗般的回答!在我之前10年,有人问了完全相同的问题,这个问题被认为非常重要,可以放在图书馆里,你可以准确地回忆和参考。嗨@zx8754,我确实错过了这个问题,但我没有时间/兴趣写一个答案。请随时完全自由地接受我的评论,并将其充实为您自己的答案。