Re: [R] Lattice: how to get default ylim?

From: David James <dj_at_research.bell-labs.com>
Date: Fri 20 May 2005 - 00:11:28 EST

Deepayan Sarkar wrote:
> On Thursday 19 May 2005 8:00 am, David James wrote:
> > Hi,
> >
> > Within your panel function you can use current.viewport() to recover
> > the active grid viewport and get xlim/ylim (in addition to other very
> > useful information). Then you can use grid.text (plus any other
> > grid.* function), e.g.,
> >
> > require(grid)
> >
> > my.panel <-
> > function(...)
> > {
> > panel.xyplot(...)
> >
> > ## add "Hello World on the top-left of each panel
> >
> > v <- current.viewport() ## requires R 2.1.0 (I believe)
>
> No, I think it's been there for a while. However, AFAIR the fact that
> viewports have components xscale and yscale that can be accessed like this is
> undocumented and may change if the implementation changes (which is a real
> possibility).
>
> Ideally, there should be exported interfaces to access this information,
> either in grid or lattice. One of the reasons there isn't is that you rarely

Yes, I agree that such an interface is quite desirable.

> need it, including in this example (see below).
>
> > xlim <- v$xscale
> > ylim <- v$yscale
> > grid.text(x = xlim[1], y = ylim[2], default.units="native",
> > label = "Hello World", just= c("left", "top"))
>
> An equivalent version where you don't need xlim and ylim is
>
> grid.text(x = 0, y = 1, default.units="npc",
> label = "Hello World", just= c("left", "top"))

Right, in this silly "Hello World" example you don't need xlim/ylim, but one can see instances where one would...

>
> Deepayan
>
> > }
> >
> > Hope this helps.
> >
> > --
> > David
> >
> > Wladimir Eremeev wrote:
> > > Dear r-help,
> > >
> > > I draw graphics with xyplot and want to add some text to each panel
> > > (actually, the slope, error and significance of a regression line).
> > >
> > > I have defined the function, drawing a single panel and pass it to
> > > xyplot in the panel argument. This function calls panel.xyplot,
> > > calculates linear regression and formats coefficients.
> > >
> > > Now I want the text, I mentioned above, to be put in the upper left
> > > corner of each plot.
> > > I use ltext, and I need to define coordinates x and y.
> > > In order to do this I need to know the limits of x and y axes.
> > >
> > > I do not want to pass arguments xlim and ylim to the xyplot function
> > > and want it to calculate them automatically.
> > > And I also want to know the result of calculations. :)
> > > How to do this?
> > >
> > > Thank you very much.
> > >
> > > --
> > > Best regards
> > > Wladimir Eremeev mailto:wl@eimb.ru
> > >
> > > =========================================================================
> > >= Research Scientist, PhD Leninsky Prospect 33,
> > > Space Monitoring & Ecoinformation Systems Sector, Moscow, Russia, 119071,
> > > Institute of Ecology, Phone: (095) 135-9972;
> > > Russian Academy of Sciences Fax: (095) 135-9972
> > >
> > > ______________________________________________
> > > R-help@stat.math.ethz.ch mailing list
> > > https://stat.ethz.ch/mailman/listinfo/r-help
> > > PLEASE do read the posting guide!
> > > http://www.R-project.org/posting-guide.html
> >
> > ______________________________________________
> > R-help@stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide!
> > http://www.R-project.org/posting-guide.html



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Fri May 20 00:20:51 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:51 EST