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

From: Wittner, Ben, Ph.D. <Wittner.Ben_at_mgh.harvard.edu>
Date: Sun, 01 Jun 2008 14:50:51 -0400

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}}

R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Mon 02 Jun 2008 - 04:24:19 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 - 05:30:35 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive