A method for plot.  Plots (sequentially)
the tiles associated with each point in the set being tessellated.
# S3 method for tile.list
plot(x, verbose = FALSE, close = FALSE, pch = 1,
                         fillcol = getCol(x,warn=warn), col.pts=NULL,
                         col.lbls=NULL,border=NULL, showpoints = !labelPts,
                         add = FALSE, asp = 1, clipp=NULL, xlab = "x",
                         ylab = "y", main = "", warn=TRUE,
                         labelPts=FALSE,adj=NULL,...)The list of tiles being plotted.  This will be the input
list of  tiles specified by argument x, or this list
clipped to the polygon clipp if the latter was specified.
A list of the tiles in a tessellation, as produced
  the function tile.list().
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.
Logical scalar; if TRUE the outer edges of of the tiles
  (i.e. the edges which are constitute parts of the edges of the
  enclosing rectangle) are drawn.  Otherwise tiles on the periphery
  of the tessellation are left “open”.
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.
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.  The default value is
  created (using the tile “tags”, i.e. the z
  components of the tiles, if these exist) by
  the undocumented function getCol().  Note that if
  these z components are not present, then getCol()
  returns NA.
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.
Optional vector like unto col.pts. Determines the colours
  in which the point labels (see labelPts below) are plotted.
  This argument will be replicated to have length equal to the
  number of tiles.  Ignored if labelPts is FALSE.
A scalar that can be interpreted as a colour by col2rgb(),
  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 only its first entry is used.
Logical scalar; if TRUE the points of
  the pattern which was triangulated/tessellated are plotted.
  If clipp is specified, then only those points
  associated with non-empty clipped tiles are shown.  Note that
  some such points will be external to the polygon clipp
  and that these “external” points are shown.
Logical scalar; should the plot of the tiles be added to an existing plot?
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.
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.
Label for the x-axis (used only if add is FALSE).
Label for the y-axis (used only if add is FALSE).
A title for the plot (used only if add is FALSE).
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.)
Logical scalar; if TRUE the labels of the
  points determining the tiles are plotted in the tiles.  Note
  that if labelPts is TRUE then showpoints
  defaults to FALSE
The “adjustment” argument to text().
  If labelPts and showpoints are both TRUE it
  defaults to -1 (so that the labels and point symbols
  are not superimposed).  If labelPts is TRUE and
  showpoints is FALSE it defaults to 0.
  If labelPts is FALSE it is ignored.
As of release 1.0-8 the argument number of
  plot.deldir() and plot.tile.list()
  was changed to labelPts.  As a consequence the argument
  col.num of this function has had its name changed to
  col.lbls.
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 superseded 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.)
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
  exist but cannot all be interpreted as colours then the internal
  function getCol() returns NA.  If warn is
  TRUE then a warning is issued.  The function getCol()
  will also return NA (no warning is issued in this case)
  if there aren't any z components. This circumstance
  will arise if no z argument was supplied in the call to
  deldir().  An NA value of fillcol results
  (as is indicated by the argument list entry for fillcol)
  in (all of) the tiles being left unfilled.
The change from argument polycol to argument
  fillcol, and the resulting change in the way in which
  plotted tiles are filled with colours, was made as a result of
  a request from Chris Triggs.  Likewise the argument clipp
  was added due to a request from Chris Triggs.
The argument asp was added at the request of Zubin
  Dowlaty (who presumably knows what he's doing!).
Rolf Turner r.turner@auckland.ac.nz
deldir(), tile.list(),
          triang.list(), plot.triang.list()
  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))
     cul <- rainbow(10)[c(1,7,3:6,2,8:10)] # Rearranging colours to improve
                                           # the contrast between contiguous tiles.
     plot(w,clipp=CP,showpoints=FALSE,fillcol=cul)
  }
  plot(w,labelPts=TRUE,col.lbls="red")
  plot(w,labelPts=TRUE,col.lbls="red",cex=0.5)
  plot(w,showpoints=TRUE,labelPts=TRUE,col.pts="green",col.lbls="red")
Run the code above in your browser using DataLab