foo <- xyplot(ozone ~ wind, environmental)
## overlay reference lines
foo <- foo + layer(panel.abline(h = 0)) +
layer(panel.lmline(x, y))
## underlay a flat colour
foo <- foo + layer(panel.fill(grey(.9)), under = TRUE)
foo
## layers can access the panel function arguments
foo <- foo + layer(ok <- (y>100),
panel.text(x[ok], y[ok], y[ok], pos = 1))
foo
## see an outline of the complete panel function
flattenPanel(foo)
## layers with superposed styles
zoip <- xyplot(ozone ~ wind | equal.count(temperature, 2),
data = environmental) +
layer(panel.loess(x, y, span = 0.5), style = 1) +
layer(panel.loess(x, y, span = 1.0), style = 2)
update(zoip, key = simpleKey(c("span = 0.5", "span = 1.0"),
title = "loess smooth", lines = TRUE, points = FALSE))
## using other variables from the original `data` object
## NOTE: need subscripts = TRUE in original call!
zoip <- xyplot(wind ~ temperature | equal.count(radiation, 2),
data = environmental, subscripts = TRUE)
zoip + layer(panel.points(..., pch = 19,
col = grey(1 - ozone[subscripts] / max(ozone))), data = TRUE)
## example of a new data source
qua <- xyplot(lat ~ long | cut(depth, 2), quakes,
aspect = "iso", pch = ".", cex = 2)
qua
## add layer showing distance from Auckland
newdat <- with(quakes, expand.grid(
gridlat = seq(min(lat), max(lat), length = 60),
gridlon = seq(min(long), max(long), length = 60)))
newdat$dist <- with(newdat, sqrt((gridlat - -36.87)^2 +
(gridlon - 174.75)^2))
qua + layer(panel.contourplot(gridlon, gridlat, dist,
contour = TRUE, subscr = TRUE), data = newdat, under = TRUE)
Run the code above in your browser using DataLab