latticeExtra (version 0.6-9)

panel.voronoi: Panel functions for level-coded irregular points

Description

These panel functions for levelplot can represent irregular (x, y) points with a color covariate. panel.levelplot.points simply draws color-coded points. panel.voronoi uses the deldir package to calculate the spatial extension of a set of points in 2 dimensions. This is known variously as a Voronoi mosaic, a Dirichlet tesselation, or Thiessen polygons.

Usage

panel.voronoi(x, y, z, subscripts = TRUE, at = pretty(z),
   points = TRUE, border = "transparent",
   na.rm = FALSE, win.expand = 0.07, use.tripack = FALSE,
   ...,
   col.regions = regions$col, alpha.regions = regions$alpha)

panel.levelplot.points(x, y, z, subscripts = TRUE, at = pretty(z),
   shrink, labels, label.style, contour, region,
   pch = 21, col.symbol = "#00000044",
   ...,
   col.regions = regions$col, fill = NULL)

Arguments

x, y, z
an irregular set of points at locations (x, y) with value z.
subscripts
integer vector indicating what subset of x, y and z to draw. Typically passed by levelplot.
at, col.regions, alpha.regions
color scale definition; see panel.levelplot.
points
whether to draw the (x, y) points.
border
colour for polygon borders.
na.rm
if TRUE, points with missing z values will be excluded from the calculation of polygons. If FALSE, those polygons are calculated but are not drawn (i.e. are transparent).
win.expand
defines the rectangular window bounding the polygons. This is a factor by which to expand the range of the data. Set to 0 to limit drawing at the furthest data point locations. Ignored if use.tripack = TRUE.
use.tripack
if TRUE, use tripack package rather than deldir. See Details.
...
further arguments are passed to panel.xyplot if points = TRUE.
pch, col.symbol
symbol and border color for points. A filled symbol should be used, i.e. in the range 21-25.
shrink, labels, label.style, contour, region, fill
ignored.

Details

The tripack package implementation is faster than deldir but not under a fully free licence. Also, the deldir package allows polygons to be clipped to a rectangular window (the win.expand argument).

See Also

tileplot, panel.levelplot, deldir

Examples

Run this code
## a variant of Figure 5.6 from Sarkar (2008)
## http://lmdvr.r-forge.r-project.org/figures/figures.html?chapter=05;figure=05_06

depth.ord <- rev(order(quakes$depth))
quakes$Magnitude <- equal.count(quakes$mag, 4)
quakes.ordered <- quakes[depth.ord, ]

levelplot(depth ~ long + lat | Magnitude, data = quakes.ordered,
         panel = panel.levelplot.points, type = c("p", "g"),
         aspect = "iso", prepanel = prepanel.default.xyplot)

## a levelplot with jittered cells

xyz <- expand.grid(x = 0:9, y = 0:9)
xyz[] <- jitter(as.matrix(xyz))
xyz$z <- with(xyz, sqrt((x - 5)^2 + (y - 5)^2))
levelplot(z ~ x * y, xyz, panel = panel.voronoi, points = FALSE)

## hexagonal cells

xyz$y <- xyz$y + c(0, 0.5)
levelplot(z ~ x * y, xyz, panel = panel.voronoi, points = FALSE)

Run the code above in your browser using DataCamp Workspace