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
## remove the colour
foo <- undoLayer(foo)
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) +
layer2(panel.loess(x,y,span=.5)) +
layer3(panel.loess(x,y,span=1))
## 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