Last data update: 2014.03.03
R: Plot a spatial mosaic from irregular 2D points
Plot a spatial mosaic from irregular 2D points
Description
Represents an irregular set of (x, y) points with a color covariate.
Polygons are drawn enclosing the area closest to each point.
This is known variously as a Voronoi mosaic, a Dirichlet tesselation,
or Thiessen polygons.
Usage
tileplot(x, data = NULL, aspect = "iso",
prepanel = "prepanel.default.xyplot",
panel = "panel.voronoi", ...)
Arguments
x, data
formula and data as in
levelplot
, except that it expects irregularly
spaced points rather than a regular grid.
aspect
aspect ratio: "iso" is recommended as it reproduces the
distances used in the triangulation calculations.
panel, prepanel
see xyplot
.
...
further arguments to the panel function, which defaults to
panel.voronoi
.
Details
See panel.voronoi
for further options and details.
Author(s)
Felix Andrews felix@nfrac.org
See Also
panel.voronoi
, levelplot
Examples
xyz <- data.frame(x = rnorm(100), y = rnorm(100), z = rnorm(100))
tileplot(z ~ x * y, xyz)
## tripack is faster but non-free
## Not run:
tileplot(z ~ x * y, xyz, use.tripack = TRUE)
## End(Not run)
## showing rectangular window boundary
tileplot(z ~ x * y, xyz, xlim = c(-2, 4), ylim = c(-2, 4))
## insert some missing values
xyz$z[1:10] <- NA
## the default na.rm = FALSE shows missing polygons
tileplot(z ~ x * y, xyz, border = "black",
col.regions = grey.colors(100),
pch = ifelse(is.na(xyz$z), 4, 21),
panel = function(...) {
panel.fill("hotpink")
panel.voronoi(...)
})
## use na.rm = TRUE to ignore points with missing values
update(trellis.last.object(), na.rm = TRUE)
## a quick and dirty approximation to US state boundaries
tmp <- state.center
tmp$Income <- state.x77[,"Income"]
tileplot(Income ~ x * y, tmp, border = "black",
panel = function(x, y, ...) {
panel.voronoi(x, y, ..., points = FALSE)
panel.text(x, y, state.abb, cex = 0.6)
})
Results