[R] panel.rect and log scale in lattice plot

Deepayan Sarkar deep@y@n@@@rk@r @end|ng |rom gm@||@com
Wed Mar 23 12:05:00 CET 2022


On Wed, Mar 23, 2022 at 4:08 PM Ivan Krylov <krylov.r00t using gmail.com> wrote:
>
> On Wed, 23 Mar 2022 09:38:34 +0000
> "Garbade, Sven via R-help" <r-help using r-project.org> wrote:
>
> >            cpl <- current.panel.limits()
>
> If you str() the return value of current.panel.limits() from the panel
> function with log-scaling enabled, you can see that it contains the
> logarithm of the y-values, as do the y values themselves. This is
> consistent with ?xyplot saying:
>
> >> Note that this is in reality a transformation of the data, not the
> >> axes. Other than the axis labeling, using this feature is no
> >> different than transforming the data in the formula; e.g.,
> >> ‘scales=list(x = list(log = 2))’ is equivalent to ‘y ~ log2(x)’.
>
> ...although it could be more explicit.
>
> If you take a logarithm of 10 and 500, lrect() should be able to
> produce a rectangle in the right place.

Right, "log scales" in lattice simply transform the data, unlike in
traditional graphics.

If it helps, I could change current.panel.limits() to return
information on whether the data were transformed. For now, a
roundabout way to detect this inside the panel function is to use
trellis.last.object()$y.scales$log etc.

Best,
-Deepayan

>
> --
> Best regards,
> Ivan
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.



More information about the R-help mailing list