panel.voronoi {latticeExtra}R Documentation

Panel functions for level-coded irregular points


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.


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,, contour, region,
   pch = 21, col.symbol = "#00000044",
   col.regions = regions$col, fill = NULL)


x, y, z

an irregular set of points at locations (x, y) with value z.


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.


whether to draw the (x, y) points.


color for polygon borders.


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).


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.


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,, contour, region, fill



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).


Felix Andrews

See Also

tileplot, panel.levelplot, deldir


## a variant of Figure 5.6 from Sarkar (2008)

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)
[Package latticeExtra version 0.6-25 Index]