deldir (version 0.1-15)

plot.tile.list: Plot Dirchlet (Voronoi) tiles

Description

A method for plot. Plots (sequentially) the tiles associated with each point in the set being tessellated.

Usage

# S3 method for tile.list
plot(x, verbose = FALSE, close = FALSE, pch = 1,
                         fillcol = getCol(x,warn=warn), col.pts=NULL,
                         col.num=NULL,border=NULL, showpoints = !number,
                         add = FALSE, asp = 1, clipp=NULL, xlab = "x",
                         ylab = "y", main = "", warn=FALSE,
                         number=FALSE,adj=NULL,...)

Arguments

x

A list of the tiles in a tessellation, as produced the function tile.list().

verbose

Logical scalar; if TRUE the tiles are plotted one at a time (with a ``Go?'' prompt after each) so that the process can be watched.

close

Logical scalar; if TRUE the outer edges of of the tiles (i.e. the edges which are contained in the enclosing rectangle) are drawn. Otherwise tiles on the periphery of the tessellation are left ``open''.

pch

The plotting character (or vector of plotting characters) with which to plot the points of the pattern which was tessellated. Ignored if showpoints is FALSE.

fillcol

Optional vector (possibly of length 1, i.e. a scalar) whose entries can be interpreted as colours by col2rgb(). The \(i\)-th entry indicates with which colour to fill the \(i\)-th tile. Note that an NA entry cause the tile to be left unfilled. This argument will be replicated to have length equal to the number of tiles.

col.pts

Optional vector like unto fillcol whose entries can be interpreted as colours by col2rgb(). The \(i\)-th entry indicates with which colour to plot the \(i\)-th point. This argument will be replicated to have length equal to the number of tiles. Ignored if showpoints is FALSE.

col.num

Optional vector like unto col.pts. Determines the colours in which the point numbers (see number below). This argument will be replicated to have length equal to the number of tiles. Ignored if number is FALSE.

border

A scalar indicating the colour with which to plot the tile boundaries. Defaults to black unless all of the fill colours specified by fillcol are black, in which case it defaults to white. If length(border) > 1 then an error is given.

showpoints

Logical scalar; if TRUE the points of the pattern which was tesselated are plotted.

add

Logical scalar; should the plot of the tiles be added to an existing plot?

asp

The aspect ratio of the plot; integer scalar or NA. Set this argument equal to NA to allow the data to determine the aspect ratio and hence to make the plot occupy the complete plotting region in both x and y directions. This is inadvisable; see the Warnings.

clipp

An object specifying a polygon to which the tessellation being plotted should be clipped. It should consist either of:

  • a list containing two components x and y giving the coordinates of the vertices of a single polygon. The last vertex should not repeat the first vertex. Or:

  • a list of list(x,y) structures giving the coordinates of the vertices of several polygons.

If this argument is provided then the plot of the tessellation is “clipped” to the polygon specified by clipp.

xlab

Label for the x-axis (used only if add is FALSE).

ylab

Label for the y-axis (used only if add is FALSE).

main

A title for the plot (used only if add is FALSE).

warn

Logical scalar passed to the internal function getCol(). Should a warning be issued if the z components of the entries of x cannot all be interpreted as colours. See Notes.

number

Logical scalar; if TRUE the numbers of the points determining the tiles are plotted in the tiles. Note that if number is TRUE then showpoints defaults to FALSE

adj

The “adjustment” argument to text(). If number and showpoints are both TRUE it defaults to -1 (so that the numbers and point symbols are not superimposed). If number is TRUE and showpoints is FALSE it defaults to 0. If number is FALSE it is ignored.

...

Optional arguments; may be passed to points() and text().

Value

NULL; side effect is a plot.

Warnings

  • The behaviour of this function with respect to “clipping” has changed substantially since the previous release of deldir, i.e. 1.1-0. The argument clipwin has been re-named clipp (“p” for “polygon”). Clipping is now effected via the new package polyclip. The spatstat package is no longer used. The argument use.gpclib has been eliminated, since gpclib (which used to be called upon by spatstat has been superceded by polyclip which has an unrestrictive license.

  • As of release 0.1-1 of the deldir package, the argument fillcol to this function replaces the old argument polycol, but behaves somewhat differently.

  • The argument showrect which was present in versions of this function prior to release 0.1-1 has been eliminated. It was redundant.

  • As of release 0.1-1 the col.pts argument might behave somewhat differently from how it behaved in the past.

  • The arguments border, clipp, and warn are new as of release 0.1-1.

  • Users, unless they really understand what they are doing and why they are doing it, are strongly advised not to set the value of asp but rather to leave asp equal to its default value of 1. Any other value distorts the tesselation and destroys the perpendicular appearance of lines which are indeed perpendicular. (And conversely can cause lines which are not perpendicular to appear as if they are.)

Notes

  • If clipp is not NULL and showpoints is TRUE then it is possible that some of the points “shown” will not fall inside any of the plotted tiles. (This will happen if the parts of the tiles in which they fall have been “clipped” out.) If a tile is clipped out completely then the point which determines that tile is not plotted irrespective of the value of showpoints.

  • If the z components of the entries of x cannot all be interpreted as colours (e.g. if there aren't any z components, which will be the case if no such values were supplied in the call to deldir()) then the internal function getCol() returns NA. This value of fillcol results (as is indicated by the argument list entry for fillcol) in (all of) the tiles being left unfilled.

  • The new behaviour in respect of the colours with which to fill the plotted tiles, and the argument clipp were added at the request of Chris Triggs.

  • The argument asp was added at the request of Zubin Dowlaty.

See Also

deldir(), tile.list(), triang.list(), plot.triang.list()

Examples

Run this code
# NOT RUN {
  set.seed(42)
  x <- runif(20)
  y <- runif(20)
  z <- deldir(x,y,rw=c(0,1,0,1))
  w <- tile.list(z)
  plot(w)
  ccc <- heat.colors(20) # Or topo.colors(20), or terrain.colors(20)
                         # or cm.colors(20), or rainbow(20).
  plot(w,fillcol=ccc,close=TRUE)
  if(require(polyclip)) {
     CP <- list(x=c(0.49,0.35,0.15,0.20,0.35,0.42,
                          0.43,0.62,0.46,0.63,0.82,0.79),
                      y=c(0.78,0.86,0.79,0.54,0.58,0.70,
                          0.51,0.46,0.31,0.20,0.37,0.54))
     plot(w,clipp=CP,showpoints=FALSE,fillcol=topo.colors(20))
  }
  plot(w,number=TRUE,col.num="red")
  plot(w,number=TRUE,col.num="red",cex=0.5)
  plot(w,showpoints=TRUE,number=TRUE,col.pts="green",col.num="red")
# }

Run the code above in your browser using DataCamp Workspace