| spplot {sp} | R Documentation |
plots for points, grids, polygons
spplot(obj, ...)
spplot.grid(obj, zcol = names(obj), ..., names.attr,
scales = list(draw = FALSE), xlab = "", ylab = "", aspect = mapasp(obj),
panel = panel.gridplot, sp.layout = NULL, formula)
spplot.rings(obj, zcol = names(obj), ..., names.attr,
scales = list(draw = FALSE), xlab = "", ylab = "", aspect = mapasp(obj),
panel = panel.ringsplot, sp.layout = NULL, formula)
spplot.points(obj, zcol = names(obj), ..., names.attr,
scales = list(draw = FALSE), xlab = "", ylab = "", aspect = mapasp(obj),
panel = panel.pointsplot, sp.layout = NULL, identify = FALSE, formula)
mapLegendGrob(obj, widths = unit(1, "cm"), heights = unit(1, "cm"),
fill = "black", just = "right")
sp.theme()
layout.north.arrow()
layout.scale.bar(height = 0.05)
obj |
object of class extending Spatial-class |
zcol |
character; attribute name(s) or column number(s) in attribute table |
names.attr |
names to use in panel, if different from zcol names |
scales |
scales argument to be passed to Lattice plots; use
list(draw = TRUE) to draw axes scales; see xyplot for full options |
... |
other arguments passed to levelplot (grids, polygons) or xyplot (points) |
xlab |
label for x-axis |
ylab |
label for y-axis |
aspect |
aspect ratio for spatial axes; defaults to "iso" (one unit on the x-axis equals one unit on the y-axis) but may be set to more suitable values if the data are e.g. if coordinates are latitude/longitude |
panel |
depending on the class of obj, panel.ringsplot (for
rings or lines), panel.gridplot (grids) or panel.pointsplot
(points) is used; for further control custom panel functions can be
supplied that call one of these panel functions, but do read how the
argument sp.layout may help |
sp.layout |
NULL or list; see notes below |
identify |
if not FALSE, identify plotted objects (currently only working
for points plots). Labels for identification are the row.names of the
attribute table row.names(as.data.frame(obj)). If TRUE, identify
on panel (1,1); for identifying on panel i,j, pass the
value c(i,j) |
formula |
optional; may be useful to plot a transformed value. Defaults
to z~x+y for single and z~x+y|name for multiple attributes; use
e.g. exp(x)~x+y|name to plot the exponent of the z-variable |
widths |
width of grob |
heights |
heights of grob |
fill |
fill color of grob |
just |
grob placement justification |
height |
height of scale bar; width is 1.0 |
spplot returns a lattice plot of class "trellis", if you fail to "see" it,
explicitly call print(spplot(...)). If identify is TRUE,
the plot is plotted and the return value is a vector with row names of
the selected points.
Missing values in the attributes are (currently) not allowed.
spplot.grid, spplot.rings and spplot.points are S4
methods for spplot; see spplot-methods.
Useful arguments that can be passed as ... are:
layoutcol.regionsprettyatas.tablepagefor useful values see the appropriate documentation of xyplot and levelplot.
If obj is of SpatialPointsDataFrame, the following options are
useful to pass:
key.spacelegendEntriescutsdo.logcuts is only number of cuts pchcexfill
layout.north.arrow and layout.scale.bar can be used
to set a north arrow or scale bar.
The sp.layout argument is either a single layout item, or a list
with a layout items. A layout item is a list with its first argument
the name of the layout function to be called: sp.points for
SpatialPoints, sp.polygon for SpatialPolygons object, sp.lines
for a SpatialLines object, and sp.text for text to place. The
second argument contains the object (or text) to be plotted; remaining
arguments are passed to the corresponding panel.* functions.
A special layout list item is which (integer), to control to which
panel a layout item should be added. If which is present in the
main, top-level list it applies for all layout items; in sub-lists with
layout items it denotes the (set of) panels in which the layout item
should be drawn. Without a which item, layout items are drawn
in each panel.
The order of items in sp.layout matters; objects are drawn in
the order they appear. Plot order and prevalence of sp.layout items:
for points and lines, sp.layout items are drawn before the points
(to allow for grids and polygons); for grids and polygons sp.layout
is drawn afterwards (so the item will not be overdrawn by the grid
and/or polygon). Although a matter of taste, transparency may help when
combining things.
sp.theme returns a lattice theme; use trellis.par.set(sp.theme())
after a device is opened or changed to make this work. Currently, this only
sets the colors to bpy.colors.
Edzer J. Pebesma, e.pebesma@geo.uu.nl
http://r-spatial.sourceforge.net/
library(lattice)
trellis.par.set(sp.theme()) # sets bpy.colors() ramp
data(meuse)
coordinates(meuse) <- ~x+y
l2 = list("SpatialPolygonsRescale", layout.north.arrow(), offset = c(181300,329800),
scale = 400)
l3 = list("SpatialPolygonsRescale", layout.scale.bar(), offset = c(180500,329800),
scale = 500, fill=c("transparent","black"))
l4 = list("sp.text", c(180500,329900), "0")
l5 = list("sp.text", c(181000,329900), "500 m")
spplot(meuse, c("ffreq"), sp.layout=list(l2,l3,l4,l5),col.regions="black",pch=c(1,2,3),
key.space=list(x=0.1,y=.95,corner=c(0,1)))
spplot(meuse, c("zinc", "lead"), sp.layout=list(l2,l3,l4,l5, which = 2),
key.space=list(x=0.1,y=.95,corner=c(0,1)))
if (require(RColorBrewer)) {
spplot(meuse, c("ffreq"), sp.layout=list(l2,l3,l4,l5),
col.regions=brewer.pal(3, "Set1"))
}