R语言
grid.locator
位于 grid
包(package)。 说明
允许用户在当前图形设备内单击鼠标一次,并返回当前视口内指定坐标系中鼠标单击的位置。
用法
grid.locator(unit = "native")
参数
unit |
返回鼠标单击位置的坐标系。有关有效坐标系,请参阅 |
细节
该函数是模态函数(如图形包函数 locator
),因此命令行和图形绘制将被阻止,直到用户在当前设备中单击鼠标为止。
值
一个单位对象,表示当前视口内指定坐标系中鼠标单击的位置。
如果用户没有单击鼠标按钮 1,则该函数(不可见)返回 NULL
。
例子
if (dev.interactive()) {
## Need to write a more sophisticated unit as.character method
unittrim <- function(unit) {
sub("^([0-9]+|[0-9]+[.][0-9])[0-9]*", "\\1", as.character(unit))
}
do.click <- function(unit) {
click.locn <- grid.locator(unit)
grid.segments(unit.c(click.locn$x, unit(0, "npc")),
unit.c(unit(0, "npc"), click.locn$y),
click.locn$x, click.locn$y,
gp=gpar(lty="dashed", col="grey"))
grid.points(click.locn$x, click.locn$y, pch=16, size=unit(1, "mm"))
clickx <- unittrim(click.locn$x)
clicky <- unittrim(click.locn$y)
grid.text(paste0("(", clickx, ", ", clicky, ")"),
click.locn$x + unit(2, "mm"), click.locn$y,
just="left")
}
grid.newpage() # (empty slate)
## device
do.click("inches")
Sys.sleep(1)
pushViewport(viewport(width=0.5, height=0.5,
xscale=c(0, 100), yscale=c(0, 10)))
grid.rect()
grid.xaxis()
grid.yaxis()
do.click("native")
popViewport()
}
作者
Paul Murrell
也可以看看
viewport
、unit
、locator
(位于包 graphics
中),有关应用程序,请参阅包trellis.focus
和 panel.identify
(位于包 lattice
中)。
相关用法
- R grid.layout 创建网格布局
- R grid.lines 在网格视口中绘制线条
- R grid.ls 列出 grobs 或视口的名称
- R grid.curve 在位置之间绘制曲线
- R grid.draw 画一个网格
- R grid.stroke 描边或填充路径
- R grid.raster 渲染光栅对象
- R grid.points 绘制数据符号
- R grid.force 强制将一个对象放入其组件中
- R grid.display.list 控制网格显示列表
- R grid.show.viewport 绘制网格视口图
- R grid.segments 绘制线段
- R grid.frame 创建用于包装对象的框架
- R grid.group 画一个组
- R grid.pack 将对象打包在框架内
- R grid.text 绘制文字
- R grid.xspline 绘制 X 样条线
- R grid.copy 制作网格图形对象的副本
- R grid.record 封装计算和绘图
- R grid.pretty 生成一组合理(“漂亮”)的断点
- R grid.grab 抓取当前电网输出
- R grid.show.layout 绘制网格布局图
- R grid.convert 不同网格坐标系之间的转换
- R grid.DLapply 修改网格显示列表
- R grid.delay 封装计算并生成grob
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Capture a Mouse Click。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。