Description Usage Arguments Details Author(s) See Also Examples
Level and contour plots of Raster objects with lattice
methods
and marginal plots with grid
objects.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ## S4 method for signature 'Raster,missing'
levelplot(x, data=NULL, layers,
margin=!(any(is.factor(x))), FUN.margin=mean,
maxpixels=1e5,
par.settings=rasterTheme(),
between=list(x=0.5, y=0.2),
as.table=TRUE,
xlab=if(isLonLat(x)) 'Longitude' else NULL,
ylab=if(isLonLat(x)) 'Latitude' else NULL,
main=NULL,
names.attr,
scales=list(), scales.margin=NULL,
xscale.components=xscale.raster,
yscale.components=yscale.raster,
zscaleLog=NULL,
colorkey=list(space='right'),
panel=panel.levelplot,
contour=FALSE, region=TRUE, labels=FALSE,
..., att=1L)
## S4 method for signature 'Raster,missing'
contourplot(x, data=NULL, layers, ...)
|
x |
A Raster object. |
data |
Not used. |
layers |
A numeric or character which should indicate the layers to be displayed. |
margin |
logical, if TRUE a marginal plot of the
|
FUN.margin |
A function to be applied to each coordinate. |
scales.margin |
A list with components |
maxpixels |
A positive integer giving the number of cells to
display, for |
att |
An integer o character to choose which variable (column) in the RAT table should be used. |
xlab, ylab, main |
A character string or expression describing
the axis and title labels. These arguments are used by the underlying
“ When
|
names.attr |
Character, names to use in each panel. If missing its
default value is the result of |
xscale.components, yscale.components |
See
|
between, as.table, par.settings, scales, panel |
Graphical parameters used by
|
colorkey, contour, region, labels |
Graphical parameters
supplied to
|
zscaleLog |
Controls whether the Raster* will be log transformed before being passed to the panel function. Defaults to ‘NULL’, in which case the Raster* is not transformed. Other possible values are any number that works as a base for taking logarithm, ‘TRUE’ (which is equivalent to 10), and ‘"e"’ (for the natural logarithm). As a side effect, the colorkey is labeled differently. |
... |
Additional arguments for
|
The result of the levelplot
method is similar to the
spplot
method for Raster
objects defined in the
raster
package. However, this method does not use the
spplot
of the sp
package and, therefore, no conversion
between classes is needed.
The contourplot
method is a wrapper for levelplot
with
the next additional default settings: cuts=7
,
labels=TRUE
, contour
=TRUE, pretty
=TRUE,
region=TRUE
and colorkey=TRUE
(see the help of
contourplot
for details.)
levelplot
displays categorical data with a convenient
legend. You should use ratify
to define a layer as a
categorical variable. It is able to display multilayer categorical
rasters only if they share the same RAT (Raster Attribute
Table). levelplot
is not able to display multilayer rasters
with factor and numeric layers. See ratify
and the
examples below for details.
Oscar Perpiñán Lamigueiro
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | f <- system.file("external/test.grd", package="raster")
r <- raster(f)
levelplot(r)
## Change the color theme
levelplot(r, par.settings=GrTheme())
levelplot(r, par.settings=PuOrTheme())
myTheme=rasterTheme(region=brewer.pal('Blues', n=9))
levelplot(r, par.settings=myTheme)
## Define the legend breaks
my.at <- seq(100, 1850, 500)
levelplot(r, at=my.at)
myColorkey <- list(at=my.at, ## where the colors change
labels=list(
at=my.at ## where to print labels
))
levelplot(r, at=my.at, colorkey=myColorkey)
myColorkey <- list(at=my.at, ## where the colors change
labels=list(
labels=letters[seq_along(my.at)], ## labels
at=my.at ## where to print labels
))
levelplot(r, at=my.at, colorkey=myColorkey)
## shrink and border color
rCenter <- (maxValue(r) + minValue(r)) / 2
levelplot(r - rCenter, par.settings=RdBuTheme(), shrink=c(.8, 15), border='black')
## With subticks
levelplot(r, xscale.components=xscale.raster.subticks,
yscale.components=yscale.raster.subticks)
levelplot(r, xscale.components=xscale.raster.subticks,
yscale.components=yscale.raster.subticks,
scales=list(x=list(rot=30, cex=0.8)))
## log-scale
levelplot(r^2, zscaleLog=TRUE, contour=TRUE)
## Customizing axis and title labels
levelplot(r, margin=FALSE,
main=list('My plot', col='red'),
xlab=c('This is the', 'X-Axis'),
ylab=list('Y-Axis', rot=30, fontface='bold')
)
## xlim and ylim to display a smaller region
levelplot(r, xlim=c(179000, 181000), ylim=c(329500, 334000))
## RasterStacks
s <- stack(r, r+500, r-500)
levelplot(s, contour=TRUE)
contourplot(s, labels=list(cex=0.4), cuts=12)
## Use of layout
levelplot(s, layout=c(1, 3))
levelplot(s, layout=c(1, 1))
## names.attr to change the labels of each panel
levelplot(s, names.attr=c('R', 'R + 500', 'R - 500'))
## defining the scales for the marginal plot
levelplot(r, scales.margin=list(x=c(100, 600), y=c(100, 1000)))
## if a component of the list is null, it is internally calculated
levelplot(r, scales.margin=list(x=c(100, 1000)))
## Add a layer of sampling points
## and change the theme
pts <- sampleRandom(r, size=20, sp=TRUE)
## Using +.trellis and layer from latticeExtra
levelplot(r, par.settings = BTCTheme) + layer(sp.points(pts, col = 'red'))
contourplot(r, labels = FALSE) + layer(sp.points(pts, col = 'red'))
## or with a custom panel function
levelplot(r, par.settings=BTCTheme,
panel=function(...){
panel.levelplot(...)
sp.points(pts, col='red')
})
## Categorical data
r <- raster(nrow=10, ncol=10)
r[] = 1
r[51:100] = 3
r[3:6, 1:5] = 5
r <- ratify(r)
rat <- levels(r)[[1]]
rat$landcover <- c('Pine', 'Oak', 'Meadow')
rat$class <- c('A1', 'B2', 'C3')
levels(r) <- rat
r
levelplot(r, col.regions=c('palegreen', 'midnightblue', 'indianred1'))
## with 'att' you can choose another variable from the RAT
levelplot(r, att=2, col.regions=c('palegreen', 'midnightblue', 'indianred1'))
levelplot(r, att='class', col.regions=c('palegreen', 'midnightblue', 'indianred1'))
r2 <- raster(r)
r2[] = 3
r2[51:100] = 1
r2[3:6, 1:5] = 5
r3 <- init(r, function(n)sample(c(1, 3, 5), n, replace=TRUE))
## Multilayer categorical Raster* are displayed only if their RATs are the same
levels(r2) <- levels(r3) <- levels(r)
s <- stack(r, r2, r3)
names(s) <- c('A', 'B', 'C')
levelplot(s)
levelplot(s, att=2)
## Not run:
##Solar irradiation data from CMSAF
##Data available from http://www.box.net/shared/rl51y1t9sldxk54ogd44
old <- getwd()
##change to your folder...
setwd('CMSAF')
listFich <- dir(pattern='2008')
stackSIS <- stack(listFich)
stackSIS <- stackSIS*24 ##from irradiance (W/m2) to irradiation Wh/m2
setwd(old)
idx <- seq(as.Date('2008-01-15'), as.Date('2008-12-15'), 'month')
SISmm <- setZ(stackSIS, idx)
names(SISmm) <- month.abb
levelplot(SISmm)
levelplot(SISmm, layers=1, FUN.margin=median, contour=TRUE)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.