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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。