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 rolfurner@posteo.net
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