[R] Re: new versions of grid and lattice

kjetil halvorsen kjetilh at umsanet.edu.bo
Wed Sep 26 17:56:12 CEST 2001


			   [this needed manual approvement by list maintainer
			    it had a "CC: R-announce" which always bounces
			    -- MM ]

Hola!

I have tried to compile the new grid and lattice on windows (R1.3.0,
windows 98). Both give warnings, Grid will not load.

I cannot give now the warnings output, I used to capture tghe
warnings running make from a shell within PFE (programmers file editor),
but that doesnt seem to work in the latests version of
PFE. I tried this morning to find out how to capture the warnings from
within emacs, without luck.

Best,

Kjetil Halvorsen.

Paul Murrell wrote:
>
> Hi
>
> There are new versions of the grid and lattice packages on CRAN:
>     grid 0.2 and lattice 0.3-0
>
> These packages are still _under development_ (they are in
> CRAN/src/contrib/Devel)
>
> There have been some bug fixes and, especially in lattice, there are lots of
> new features.
> Descriptions of the changes are included below.
>
> If you have any grid code, it may break under the new version because of a
> change to the interface of the pop.viewport() function -- see the changes
> below.
>
> Many thanks to those who have provided feedback and suggestions for
> corrections/improvements.
> Don't worry if you can't see your suggestion in the new version;  it just
> means we haven't found time to try to implement it yet :)
>
> Paul Murrell
> Deepayan Sarkar
>
> ---snip---
>
> Changes from grid_0.1 to grid_0.2:
>
> 1. Fixed bug in rotating viewports;  this should be more reliable now (the
> rotation of
>     viewports, not the bug!).
>
> 2. Added grid.line.to() and grid.move.to().  These allow drawing BETWEEN
>    different coordinate systems.  See example in inst/doc/demo3.ps.
>
> 3. Added some more demonstrations to the doc directory.
>
> 4. Added more test code to the tests directory.
>
> 5. Added "grobwidth" and "grobheight" units.  See the document
>    grid/inst/doc/advanced/parentchild.ps
>
> 6. Added more detailed documentation to grid/inst/doc/advanced.  This
>    stuff is not necessarily very friendly for the reader, but may be useful
> if you're
>    tearing your hair out wondering why some strange effect is occurring.
>
> 7. Changed frames and packing to use the new "grobwidth" and "grobheight"
>    units.  This fixes some problems with frames and packing.
>
> 8. Fixed a bug where the gpar settings for "fontsize" and "lineheight"
>    _within a grob_ would not affect the location or size of the grob
>    if they were specified in "lines" or "char" units.
>
>    This required adding new "mylines" and "mychar" units (alternative
>    suggestions for names welcome !) so that you can specify whether
>    a grob's a location/size is in terms of the current viewport's
>    fontsize and lineheight ("lines" and "char") or in terms of its own
>    fontsize and lineheight ("mylines" and "mychar").
>
> 9. Added grid.polygon() and grid.circle() primitives
>
> 10. Added newpage=TRUE argument to grid.start() so that you can restart
>     grid graphics mode without having to move to a new page.
>
>     For example, try ...
>
>      postscript()
>      grid.start()
>      grid.polygon()
>      grid.stop()
>      grid.start() # moves to new page
>      grid.circle()
>      grid.stop()
>      grid.start(newpage=FALSE) # does NOT move to new page
>      grid.rect()
>      grid.stop()
>      dev.off()
>
> 11. Changed interface for pop.viewport().  This now just takes a
>     number of viewports to pop, which defaults to 1.
>     For example ...
>
>         push.viewport(viewport())
>         pop.viewport(current.viewport())
>
>     ... becomes ...
>
>         push.viewport(viewport())
>         pop.viewport()
>
>     ... and ...
>
>         vp1 <- viewport()
>         vp2 <- viewport()
>         push.viewport(vp1, vp2)
>         pop.viewport(vp2, vp1)
>
>     ... becomes ...
>
>         vp1 <- viewport()
>         vp2 <- viewport()
>         push.viewport(vp1, vp2)
>         pop.viewport(2)
>
> 12. Speed-up of pushing and popping viewports.  This will probably not
>     be noticeable in normal usage, but makes a big difference for
>     frames and packing.
>
> 13. Added a convertNative() function for converting a unit object
>     to "user" or "data" coordinates.  This is useful for performing
>     calculations (e.g., smoothing) on a location or dimension which
>     is easiest to specify in units.
>
>     You must specify whether you wish to convert relative to the
>     current x- or y-scale AND whether you are converting a location
>     or a dimension.  The following example shows the difference:
>
>        > push.viewport(viewport(w=unit(4,"inches"), xscale=c(-10,10)))
>        > convertNative(unit(1:4, "inches"))
>        [1] -5  0  5 10
>        > convertNative(unit(1:4, "inches"), "y")
>        [1] 0.1430986 0.2861972 0.4292958 0.5723944  # on my default window
> size
>        > convertNative(unit(1:4, "inches"), "y", "dimension")
>        [1] 0.1430986 0.2861972 0.4292958 0.5723944
>        > convertNative(unit(1:4, "inches"), "x", "dimension")
>        [1]  5 10 15 20
>
>     WARNING:  if you draw objects based on output from these conversion
>     functions, then resize your device, the objects will be drawn
>     incorrectly -- the base R display list will not recalculate these
>     conversions.  This means that you can only rely on the results of
>     these calculations if the size of your device is fixed.
>
>     This change motivated by discussions with Frank Harrell.
>
> ---snip---
>
> Changes in lattice 0.3
> ======================
>
> The overall internal structure of the lattice library has changed
> considerably in verion 0.3, in particular making it far more readable
> and debuggable. However, this also means that some code which had
> worked with the earlier version might now fail. (This is just a
> discalimer, there are no known instances.)
>
> New Features:
> ============
>
>  o (Almost) full support for the `key' argument for drawing legends
>
>  o Support for log scales
>
>  o levelplot (but no contourplot. In particular, the contour = T option
>    in levelplot does not work)
>
>  o tmd now works on the output from qq
>
>  o panel function names can now be quoted strings
>
>  o scales and its x and y components can now be just a character
>    string like "free" or "sliced", i.e., the relation tag can be
>    omitted.
>
>  o extension to the `type' argument in panel.xyplot and
>    panel.superpose to allow stair-like and histogram-like plots
>    (type="s" and "h" in plot), as well as loess smooths (using
>    the loess.smooth function in the modreg library). Also, more
>    than one of these options can now be used concurrently. This
>    allows, for example, a grouped plot where a grouping variable
>    can be used to fit separate loess curves along with the scatter
>    for each group. See example(xyplot)
>
>  o wrappers around grid functions with API-s of traditional graphics
>    functions to help port existing S-Plus Trellis code. See below for
>    details.
>
>  o changes in print.trellis to allow mixing of Lattice and usual R
>    graphics. See below for details.
>
>  o `data' can now be second unnamed argument in
>    high level functions
>
>  o `pscales' implemented for splom
>
> Porting S-Plus Trellis code to Lattice
> ======================================
>
> One of the basic problems in porting existing Trellis code to R is the
> unusability of the base R functions like lines and points inside panel
> functions. To help make the changes more transparently, lattice now
> includes several wrappers around grid functions that provide an API
> similar to the corresponding base R functions. The list currently
> includes lpoints, llines, ltext and lsegments.
>
> Using Lattice and base R graphics concurrently
> ==============================================
>
> Grid graphics normally do not mix with usual R graphics. However,
> end-users typically might want to use lattice functions concurrently
> with traditional R graphics. To allow this without intermittent calls
> to grid.stop() and grid.start(), print.trellis (which ultimately does
> all the plotting in lattice) now tries to preserve the state of the
> device on which it plots. By default, library(lattice) opens a device
> in grid enabled mode. It can be reverted to non grid mode by
> grid.stop(). Subsequently, both Lattice functions and traditional
> graphics functions can be used. Devices opened by trellis.device()
> start in non-grid mode, unless grid.start() is called.
>
> Still Missing
> =============
>
>  o contourplot, wireframe, cloud (partially implemented) and of course,
>    piechart
>
>  o Some components of scale (I haven't found a full list, so
>    can't say exactly which are missing)
>
>  o Fonts
>
>  o axis labels badly implemented, no checking for overlaps.
>
> -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
> r-announce mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
> Send "info", "help", or "[un]subscribe"
> (in the "body", not the subject !)  To: r-announce-request at stat.math.ethz.ch
> _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list