Re: [R] transforming output of grid.locator() to coordinates of a leaf viewport

From: hadley wickham <>
Date: Mon, 02 Jun 2008 07:24:17 +1200


What if the click occurs over multiple viewports?


On Mon, Jun 2, 2008 at 6:50 AM, Wittner, Ben, Ph.D. <> wrote:
> Short form:
> How do I transform the output of grid.locator() (or
> grid.locator(unit='npc')) to the native (or npc) coordinates of a viewport other
> than the top-level viewport?
> Thanks in advance. -Ben
> Long form:
> I would like the user to be able to click anywhere on the R
> graphics window. I would then like to figure out which leaf viewport the user
> clicked in and compute the native coordinates in that leaf viewport of the
> user's click.
> I saw a 2005 response by Paul Murrell to a post by Gabor
> Grothendieck roughly on this topic in which Paul suggested looking at
> trellis.focus(). I've looked at trellis.focus() and trellis.clickFocus(), but
> they don't appear to do what I want in that a) it would appear that my user
> would have to click twice, once to specify which leaf viewport and then again to
> specify which point in that viewport and b) trellis.clickFocus() appears to use
> lots of information from the trellis package, which I'm not using.
> So I decided to try to figure out the native coordinates of the
> click in each leaf viewport, to a) see whether the click is within the plotting
> region for that viewport and b) use those coordinates to take the appropriate
> action if it is. But I don't seem to be able to figure out how to translate from
> the top-level viewport coordinates to those of a leaf viewport. I tried
> interpreting the 3X3 matrix returned by current.transform() as an affine
> transformation in the x,y plane in homogeneous coordinates, but could make no
> sense of what I was getting.
> Thanks for any help. -Ben
> The information transmitted in this electronic communica...{{dropped:16}}
> ______________________________________________
> mailing list
> PLEASE do read the posting guide
> and provide commented, minimal, self-contained, reproducible code.


______________________________________________ mailing list
PLEASE do read the posting guide
and provide commented, minimal, self-contained, reproducible code.
Received on Mon 02 Jun 2008 - 05:17:44 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 02 Jun 2008 - 07:30:38 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive