
Produces Trellis displays of numeric (and eventually categorical) data on a map. This is largely meant as a demonstration, and users looking for serious map drawing capabilities should look elsewhere (see below).
mapplot(x, data, …)# S3 method for formula
mapplot(x, data, map, outer = TRUE,
prepanel = prepanel.mapplot,
panel = panel.mapplot,
aspect = "iso",
legend = NULL,
breaks, cuts = 30,
colramp = colorRampPalette(brewer.pal(n = 11, name = "Spectral")),
colorkey = TRUE,
…)
prepanel.mapplot(x, y, map, …)
panel.mapplot(x, y, map, breaks, colramp, exact = FALSE, lwd = 0.5, …)
For mapplot
, an object on which method dispatch is
carried out. For the formula method, a formula of the form y
~ x
, with additional conditioning variables as desired. The
extended form of conditioning using y ~ x1 + x2
etc. is also
allowed. The formula might be interpreted as in a dot plot, except
that y
is taken to be the names of geographical units in
map
.
Suitable subsets (packets) of x
and y
are passed to
the prepanel and panel functions.
A data source where names in the formula are evaluated
An object of class "map"
(package maps
),
containing boundary information. The names of the geographical
units must match the y
variable in the formula.
logical; how variables separated by +
in the
formula are interpreted. It is not advisable to change the
default.
the prepanel and panel functions
aspect ratio
controls conversion of numeric x
values to a false color. colramp
should be
a function that produces colors (such as cm.colors
).
If it is NULL
, colors are taken from
trellis.par.get("regions")
.
the default exact = FALSE
allows the given
y
values to match sub-regions of map
,
i.e. region names with a qualifier following ":"
, like
"michigan:north", "michigan:south"
. These will both match a
y
value of "Michigan"
.
controls legends; usually just a color key
giving the association between numeric values of x
and
color.
line width
Further arguments passed on to the underlying engine.
See xyplot
for details.
An object of class "trellis"
.
# NOT RUN {
library(maps)
library(mapproj)
## Note: Alaska, Hawaii and others are not included in county map;
## this generates warnings with both USCancerRates and ancestry.
data(USCancerRates)
suppressWarnings(print(
mapplot(rownames(USCancerRates) ~ log(rate.male) + log(rate.female),
data = USCancerRates,
map = map("county", plot = FALSE, fill = TRUE,
projection = "mercator"))
))
suppressWarnings(print(
mapplot(rownames(USCancerRates) ~ log(rate.male) + log(rate.female),
data = USCancerRates,
map = map("county", plot = FALSE, fill = TRUE,
projection = "tetra"),
scales = list(draw = FALSE))
))
data(ancestry)
county.map <-
map('county', plot = FALSE, fill = TRUE,
projection = "azequalarea")
## set a sequential color palette as current theme, and use it
opar <- trellis.par.get()
trellis.par.set(custom.theme(region = brewer.pal(9, "Purples"),
alpha.line = 0.5))
suppressWarnings(print(
mapplot(county ~ log10(population), ancestry, map = county.map,
colramp = NULL)
))
trellis.par.set(opar)
# }
# NOT RUN {
## this may take a while (should get better area records)
county.areas <-
area.map(county.map, regions = county.map$names, sqmi = FALSE)
ancestry$density <-
with(ancestry, population / county.areas[as.character(county)])
mapplot(county ~ log(density), ancestry,
map = county.map, border = NA,
colramp = colorRampPalette(c("white", "black")))
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab