npc to native coordinates for xyplot
On 9/1/08, Jason Pare <jay.pare at gmail.com> wrote:
Hello, I am having trouble adding symbols to grid graphics. I am able to create a lattice scatterplot using xyplot, which has a range from -15:15 in both the X and Y directions. However, when I try to add circles and text to this graph using grid.circle() and grid.text(), they are offset using the default npc coordinates. Nothing happens when I pass the parameter default.units="native" to grid.circle, as suggested in this post:http://tolstoy.newcastle.edu.au/R/e4/help/08/03/5534.html. I also tried replicating the code in Paul Murrell's GridBase documentation, but to no avail: xyplot(y ~ x, groups=pt, data=dt) vps <- baseViewports() pushViewport(vps$inner, vps$figure, vps$plot) grid.circle(x=unit(-6,"native"), y=unit(-8,"native"), r=1) popViewport(3) Is there some other parameter or command that will convert the grid.circle() NPC coordinates to the native coordinates within my xyplot graph, and not the absolute dimensions of the viewport? I am new to creating viewports and grid graphics in general, so any help would be much appreciated.
I'm not sure why you are using baseViewports(); xyplot() uses grid, not base graphics. lattice provides means to access (most of) the viewports it creates. You could do: xyplot(y ~ x, groups=pt, data=dt) trellis.focus(highlight=FALSE) grid.circle(x=unit(-6,"native"), y=unit(-8,"native"), r=1) trellis.unfocus() There are other ways to do this too. -Deepayan