plotpolyf function

Plot Polygonal Domain on Image of Bivariate Function

Plot Polygonal Domain on Image of Bivariate Function

Produces a combined plot of a polygonal domain and an image of a bivariate function, using either lattice::levelplot

or image.

plotpolyf(polyregion, f, ..., npixel = 100, cuts = 15, col = rev(heat.colors(cuts + 1)), lwd = 3, xlim = NULL, ylim = NULL, use.lattice = TRUE, print.args = list())

Arguments

  • polyregion: a polygonal domain. The following classes are supported: "owin" from package spatstat.geom, "gpc.poly" from gpclib, "SpatialPolygons", "Polygons", and "Polygon" from package sp, as well as "(MULTI)POLYGON" from package sf. (For these classes, polyCub knows how to get an xylist.)

  • f: a two-dimensional real-valued function. As its first argument it must take a coordinate matrix, i.e., a numeric matrix with two columns, and it must return a numeric vector of length the number of coordinates.

  • ...: further arguments for f.

  • npixel: numeric vector of length 1 or 2 setting the number of pixels in each dimension.

  • cuts: number of cut points in the zz dimension. The range of function values will be divided into cuts+1 levels.

  • col: color vector used for the function levels.

  • lwd: line width of the polygon edges.

  • xlim, ylim: numeric vectors of length 2 setting the axis limits. NULL means using the bounding box of polyregion.

  • use.lattice: logical indicating if lattice graphics (levelplot) should be used.

  • print.args: a list of arguments passed to print.trellis

    for plotting the produced "trellis" object (given use.lattice = TRUE). The latter will be returned without explicit printing if print.args is not a list.

Examples

### a polygonal domain (a simplified version of spatstat.data::letterR$bdry) letterR <- list( list(x = c(2.7, 3, 3.3, 3.9, 3.7, 3.4, 3.8, 3.7, 3.4, 2, 2, 2.7), y = c(1.7, 1.6, 0.7, 0.7, 1.3, 1.8, 2.2, 2.9, 3.3, 3.3, 0.7, 0.7)), list(x = c(2.6, 2.6, 3, 3.2, 3), y = c(2.2, 2.7, 2.7, 2.5, 2.2)) ) ### f: isotropic exponential decay fr <- function(r, rate = 1) dexp(r, rate = rate) fcenter <- c(2,3) f <- function (s, rate = 1) fr(sqrt(rowSums(t(t(s)-fcenter)^2)), rate = rate) ### plot plotpolyf(letterR, f, use.lattice = FALSE) plotpolyf(letterR, f, use.lattice = TRUE)

Author(s)

Sebastian Meyer

  • Maintainer: Sebastian Meyer
  • License: GPL-2
  • Last published: 2025-02-11