
Last chance! 50% off unlimited learning
Sale ends in
grid.locator(unit = "native")
unit
function for valid coordinate systems.NULL
.
locator
) so
the command line and graphics drawing is blocked until
the use has clicked the mouse in the current device.
viewport
, unit
,
locator
in package graphics, and for an application
see trellis.focus
and
panel.identify
in package
\href{https://CRAN.R-project.org/package=#1}{\pkg{#1}}latticelattice.
if (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")
}
do.click("inches")
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()
}
Run the code above in your browser using DataLab