Skip to content
Prev 15695 / 29559 Next

contour line labels in trellis contourplot

On Sun, 22 Jul 2012, Martin Ivanov wrote:

            
This would be so much easier if you did give a working example. Please 
always do so.

library(sp)
library(sp)
data(meuse.grid)
coordinates(meuse.grid) <- c("x", "y")
gridded(meuse.grid) <- TRUE
proj4string(meuse.grid) <- CRS("+init=epsg:28992")
spplot(meuse.grid, "dist", col.regions=bpy.colors(20))
library(maptools)
lns <- ContourLines2SLDF(contourLines(
   as.image.SpatialGridDataFrame(meuse.grid["dist"]),
   nlevels=4), proj4string=CRS(proj4string(meuse.grid)))
spplot(meuse.grid, "dist", col.regions=bpy.colors(20),
   sp.layout=list("sp.lines", lns, lwd=2, col="grey", lty=2))
SLMP <- SpatialLinesMidPoints(as(lns, "SpatialLines"))
# here there is only one Line object per Lines object, so this works
spplot(meuse.grid, "dist", col.regions=bpy.colors(20),
   sp.layout=list(list("sp.lines", lns, lwd=2, col="grey", lty=2),
   list("sp.text", coordinates(SLMP), levels(lns$level), col="grey")))
# in other cases more care will be needed to assign multiple labels to 
# Lines objects.

The contour and contourLines functions do not report label placing points. 
You may extend this to add a background behind the labels if you like. The 
alternative with latticeExtra ought also to be tried.

Roger