plot-method {RandomFields}R Documentation

Methods for function plot in package RandomFields

Description

Plot methods are implemented for simulated random fields (objects of class RFsp), explicit covariance models (objects of class RMmodel), empirical variograms (objects of class RFempVariog) and fitted models (objects of class RFfit).

Usage

## S4 method for signature 'RFspatialDataFrame,missing'
plot(x, y,
 MARGIN=c(1,2), MARGIN.slices=NULL,
 n.slices = if (is.null(MARGIN.slices)) 1 else 10,
 nmax=6, 
 plot.variance = (!is.null(x@.RFparams$has.variance) &&
 x@.RFparams$has.variance), select.variables, zlim, legend=TRUE,
 MARGIN.movie = NULL, ...)

## S4 method for signature 'RFspatialDataFrame,RFspatialGridDataFrame'
plot(x, y,
 MARGIN=c(1,2), MARGIN.slices=NULL,
 n.slices = if (is.null(MARGIN.slices)) 1 else 10,
 nmax=6, 
 plot.variance = (!is.null(x@.RFparams$has.variance) &&
 x@.RFparams$has.variance), select.variables, zlim, legend=TRUE,
  MARGIN.movie = NULL,...)

## S4 method for signature 'RFspatialDataFrame,RFspatialPointsDataFrame'
plot(x, y,
 MARGIN=c(1,2), MARGIN.slices=NULL,
 n.slices = if (is.null(MARGIN.slices)) 1 else 10,
 nmax=6, 
 plot.variance = (!is.null(x@.RFparams$has.variance) &&
 x@.RFparams$has.variance), select.variables, zlim, legend=TRUE,
  MARGIN.movie = NULL,...)

## S4 method for signature 'RFspatialDataFrame,matrix'
plot(x, y,
 MARGIN=c(1,2), MARGIN.slices=NULL,
 n.slices = if (is.null(MARGIN.slices)) 1 else 10,
 nmax=6, 
 plot.variance = (!is.null(x@.RFparams$has.variance) &&
 x@.RFparams$has.variance), select.variables, zlim, legend=TRUE,
  MARGIN.movie = NULL,...)
## S4 method for signature 'RFspatialDataFrame,data.frame'
plot(x, y,
 MARGIN=c(1,2), MARGIN.slices=NULL,
 n.slices = if (is.null(MARGIN.slices)) 1 else 10,
 nmax=6, 
 plot.variance = (!is.null(x@.RFparams$has.variance) &&
 x@.RFparams$has.variance), select.variables, zlim, legend=TRUE,
  MARGIN.movie = NULL,...)


## S4 method for signature 'RFspatialGridDataFrame'
persp(x, y,
 MARGIN=c(1,2), MARGIN.slices=NULL,
 n.slices = if (is.null(MARGIN.slices)) 1 else 10,
 nmax=6, 
 plot.variance = (!is.null(x@.RFparams$has.variance) &&
 x@.RFparams$has.variance), select.variables, zlim, legend=TRUE, 
 MARGIN.movie = NULL,...)


## S4 method for signature 'RFdataFrame,missing'
plot(x, y, nmax=6, 
 plot.variance = (!is.null(x@.RFparams$has.variance) &&
 x@.RFparams$has.variance), legend=TRUE, ...)

## S4 method for signature 'RFdataFrame,RFdataFrame'
plot(x, y, nmax=6, 
 plot.variance = (!is.null(x@.RFparams$has.variance) &&
 x@.RFparams$has.variance), legend=TRUE, ...)

## S4 method for signature 'RFdataFrame,matrix'
plot(x, y, nmax=6, 
 plot.variance = (!is.null(x@.RFparams$has.variance) &&
 x@.RFparams$has.variance), legend=TRUE, ...)

## S4 method for signature 'RFdataFrame,data.frame'
plot(x, y, nmax=6, 
 plot.variance = (!is.null(x@.RFparams$has.variance) &&
 x@.RFparams$has.variance), legend=TRUE, ...)

## S4 method for signature 'RFempVariog,missing'
plot(x, model=NULL,

nmax.phi=NA, nmax.theta=NA, nmax.T=NA,
 plot.nbin=TRUE, plot.sd=FALSE, variogram=TRUE, boundaries = TRUE,...)

## S4 method for signature 'RFfit,missing'
plot(x, model=NULL,  fit.method="ml",
 nmax.phi=NA, nmax.theta=NA, nmax.T=NA,
 plot.nbin=TRUE, plot.sd=FALSE, variogram = TRUE, boundaries = TRUE,...)

## S4 method for signature 'RMmodel,missing'
plot(x, y, dim=1, n.points=200,
 fct.type=NULL, MARGIN, fixed.MARGIN, maxchar=15, ...)

## S3 method for class 'RMmodel'
points(x, y, n.points=200, fct.type=NULL, ...)

## S3 method for class 'RMmodel'
lines(x, y, n.points=200, fct.type=NULL, ...)


Arguments

x

object of class RFsp or RFempVario or RFfit or RMmodel; in the latter case, x can be any sophisticated model but it must be either stationary or a variogram model

y

ignored in most methods

MARGIN

vector of two; two integer values giving the coordinate dimensions w.r.t. which the field or the covariance model is to be plotted; in all other directions, the first index is taken

MARGIN.slices

integer value; if [space-time-dimension>2], MARGIN.slices can specify a third dimension w.r.t. which a sequence of slices is plotted. Currently only works for grids.

fixed.MARGIN

only for class(x)=="RMmodel" and if dim > 2; a vector of length dim-2 with distance values for the coordinates that are not displayed

n.slices

integer value. The number of slices to be plotted; if n.slices>1, nmax is set to 1. Or n.slices is a vector of 3 elements: start, end, length. Currently only works for grids.

nmax

the maximal number of the x@.RFparams$n iid copies of the field that are to be plotted

MARGIN.movie

integer. If given a sequence of figures is shown for this direction. This option is in an experimental stage. It works only for grids.

...

arguments to be passed to methods; mainly graphical arguments, or further models in case of class 'RMmodel', see Details.

fit.method

character; only for class(x)=="RFfit"; a vector of slot names for which the fitted covariance or variogram model is to be plotted; should be a subset of slotNames(x) for which the corresponding slots are of class "RMmodelFit"; by default, the maximum likelihood fit will be plotted

nmax.phi

integer; only for class(x)=="RFempVario"; the maximal number of bins of angle phi that are to be plotted

nmax.theta

integer; only for class(x)=="RFempVario"; the maximal number of bins of angle theta that are to be plotted

nmax.T

integer; only for class(x)=="RFempVario"; the maximal number of different time bins that are to be plotted

plot.nbin

logical; only for class(x)=="RFempVario"; indicates whether the number of pairs per bin are to be plotted

plot.sd

logical; only for class(x)=="RFempVario"; indicates whether the calculated standard deviation (x@sd) is to be plotted (in form of arrows of length +-1*sd)

variogram

logical; This argument should currently not be set by the user. If TRUE then the empirical variogram is plotted, else an estimate for the covariance function

boundaries

logical; only for class(x)=="RFempVario" and the anisotropic case where model is given. As the empirical variogram is calculated on a sector of angles, no exact variogram curve corresponds to the mean values in this sector. If boundaries=TRUE the values of the variogram on the sector boundaries are plotted. If FALSE some kind of mean model values are plotted. Neither the boundaries may contain the values of emprical variogram nor does the mean values need to be close the emprical variogram.

dim

must equal 1 or 2; only for class(x)=="RMmodel"; the covariance function and the variogram are plotted as a function of R^\code{dim}.

n.points

integer; only for class(x)=="RMmodel"; the number of points at which the model evaluated (in each dimension); defaults to 200

fct.type

character; only for class(x)=="RMmodel"; must equal NULL, "Cov" or "Variogram"; controls whether the covariance (fct.type="Cov") or the variogram (fct.type="Variogram") is plotted; NULL implies automatic choice, where "Cov" is chosen whenever the model is stationary

model

object of class RMmodel; only for class(x)=="RFempVario" or class(x)=="RFfit"; a list of covarianve or variogram models that are to be plotted into the same plot as the empirical variogram (and the fitted models)

plot.variance

logical, whether variances should be plotted if available

select.variables

vector of integers or list of vectors. The argument is only of interest for multivariate models. Here, length(select.variables) gives the number of pictures shown (excuding the plot for the variances, if applicable). If select.variables is a vector of integers then exactly these components are shown. If select.variables is a list, each element should be a vector up to length l <= 3:

  • l=1
    the component is shown in the usual way

  • l=2
    the two components are interpreted as vector and arrows are plotted

  • l=3
    the first component is shown as single component; the remaining two component are interpreted as a vector and plotted into the picture of the first component

legend

logical, whether a legend should be plotted

zlim

vector of length 2 with the usual meaning. In case of multivariate random fields, zlim can also be a character wih the value ‘joint’ indicating that all plotted compoments shall have the same zlim OR a matrix with two rows, where the i-th column gives the zlim of the i-th variable OR a list with entries named data and var if a separate zlim for the Kriging variance is to be used.

maxchar

maximum number of characters used in the legend (for multiplots only)

Details

Internally, ... are passed to image and plot.default, respectively; if, by default, multiple colors, xlabs or ylabs are used, also vectors of suitable length can be passed as col, xlab and ylab, respectively.

One exception is the use of ... in plot for class 'RMmodel'. Here, further models might be passed. All models must have names starting with model. If '.' is following in the name, the part of the name after the dot is shown in the legend. Otherwise the name is ignored and a standardized name derived from the model definition is shown in the legend. Note that for the first argument a name cannot be specified.

Methods

signature(x = "RFspatialGridDataFrame", y = "missing")

Generates nice image plots of simulation results for simulation on a grid and space-time-dimension >1. If space-time-dimension >2, plots are on 2-dimensional subspaces. Handles multivariate random fields (.RFparams$vdim>1) as well as repeated iid simulations (.RFparams$vdim>n).

signature(x = "RFspatialGridDataFrame", y = "RFspatialPointsDataFrame")

Similar to method for y="missing", but additionally adds the points of y. Requires MARGIN.slices=NULL and all.equal(x@.RFparams, y@.RFparams).

signature(x = "RFspatialGridDataFrame", y = "matrix")

Similar to method for y="missing", but additionally adds the points of y. Requires MARGIN.slices=NULL and all.equal(x@.RFparams, y@.RFparams).

signature(x = "RFspatialPointsDataFrame", y = "RFspatialGridDataFrame")

Throws an error. Probably x and y have been interchanged.

signature(x = "RFspatialPointsDataFrame", y = "missing")

Similar to method for class RFspatialGridDataFrame, but for non-gridded simulation results. Instead of a grid, only existing points are plotted with colors indicating the value of the random field at the respective location. Handles multivariate random fields (.RFparams$vdim>1) as well as repeated iid simulations (.RFparams$vdim>n).

signature(x = "RFspatialPointsDataFrame", y = "RFspatialPointsDataFrame")

Similar to method for y="missing", but additionally adds the points of y. Requires all.equal(x@.RFparams, y@.RFparams).

signature(x = "RFgridDataFrame", y = "missing")

Generates plots of simulation results for space-time-dimension =1. Handles different values for the number of repetitions as well as multivariate responses.

signature(x = "RFpointsDataFrame", y = "missing")

Similar to method for class RFgridDataFrame, but for non-gridded data.

signature(x = "RFempVario", y = "missing")

Gives nice plots of the empirical variogram; handles binning in up to three space-dimensions and a time-dimension, where the empirical variogram is plotted along lines which are directed according to the angle-centers given in x@phi.centers and x@theta.centers; arbitrary theoretical model curves can be added to the plot by using the argument model. If no bins are given, i.e. (x@bin=NULL), image-plots are generated.

signature(x = "RFfit", y = "missing")

Combines the plot of the empirical variogram with the estimated covariance or variogram model (theoretical) curves; further models can be added via the argument model.

signature(x = "RMmodel", y = "missing")

Generates covariance function or variogram function plots in one or two dimensions.

Author(s)

Alexander Malinowski, Martin Schlather, schlather@math.uni-mannheim.de http://ms.math.uni-mannheim.de/de/publications/software

See Also

RFpar.

Examples

RFoptions(seed=0) ## *ANY* simulation will have the random seed 0; set
##                   RFoptions(seed=NA) to make them all random again


## define the model:
model <- RMtrend(mean=0.5) + # mean
         RMstable(alpha=1, var=4, scale=10) + # see help("RMstable")
                                        ## for additional arguments
         RMnugget(var=1) # nugget


#############################################################
## Plot of covariance structure

plot(model)
plot(model, xlim=c(0, 30))
plot(model, xlim=c(0, 30), fct.type="Variogram")
plot(model, xlim=c(-10, 20), fct.type="Variogram", dim=2)

#############################################################
## Plot of simulation results

## define the locations:
from <- 0
step <- .1 
len <- if (interactive()) 50 else 3 # nicer, but also time consuming if len=100
x1D <- GridTopology(from, step, len)
x2D <- GridTopology(rep(from, 2), rep(step, 2), rep(len, 2))
x3D <- GridTopology(rep(from, 3), rep(step, 3), rep(len, 3))

## 1-dimensional
sim1D <- RFsimulate(model = model, x=x1D, n=6) 
plot(sim1D, nmax=4)

## 2-dimensional
sim2D <- RFsimulate(model = model, x=x2D, n=6) 
plot(sim2D, nmax=4)
plot(sim2D, nmax=4, col=terrain.colors(64),
main="My simulation", xlab="my_xlab")

## 3-dimensional
model <- RMmatern(nu=1.5, var=4, scale=2)
sim3D <- RFsimulate(model = model, x=x3D) 
plot(sim3D, MARGIN=c(2,3), MARGIN.slices=1, n.slices=4)

 
#############################################################
## empirical variogram plots

x <- seq(0, 10, 0.05)
bin <- seq(from=0, by=.2, to=3)

model <- RMexp()
X <- RFsimulate(x=cbind(x), model=model)
ev1 <- RFempiricalvariogram(data=X, bin=bin)
plot(ev1)

model <- RMexp(Aniso = cbind(c(10,0), c(0,1)))
X <- RFsimulate(x=cbind(x,x), model=model)
ev2 <- RFempiricalvariogram(data=X, bin=bin, phi=3)
plot(ev2, model=list(exp = model))


#############################################################
## plot Fitting results
x <- seq(0, 2, len=if (interactive()) 21 else 6)
 
model <- RMexp(Aniso = cbind(c(10,0), c(0,1)))
X <- RFsimulate(x=cbind(x,x), model=model)
fit <- RFfit(~RMexp(Aniso=diag(c(NA, NA))), data=X, fit.nphi = 2,
             modus="easygoing")
plot(fit) 


#############################################################
## plot Kriging results 
model <- RMwhittle(nu=1.2, scale=2)
n <- if (interactive()) 200 else 5
x <- runif(n, max=step*len/2) 
y <- runif(n, max=step*len/2) # 200 points in 2 dimensional space
sim <- RFsimulate(model = model, x=x, y=y)

interpolate <- RFinterpolate(model=model, x=x2D, data=sim)
plot(interpolate)
plot(interpolate, sim)


#############################################################
## plotting vector-valued results
model <- RMdivfree(RMgauss(), scale=4)
x <- y <- seq(-10,10, if (interactive()) 0.5 else 10)
simulated <- RFsimulate(model = model, x=x, y=y, n=1)
plot(simulated)
plot(simulated, select.variables=list(1, 1:3, 4))



#############################################################
## options for the zlim argument
model <- RMdelay(RMstable(alpha=1.9, scale=2), s=c(0, 4)) +
         RMdelay(RMstable(alpha=1.9, scale=2), s=c(4, 0))
simu <- RFsimulate(model, x, y)

plot(simu, zlim=list(data=cbind(c(-6,2), c(-2,1)), var=c(5,6)))
plot(simu, zlim=cbind(c(-6,2), c(-2,1)))
plot(simu, zlim=c(-6,2))
plot(simu, zlim="joint")




[Package RandomFields version 3.0.62 Index]