
Last chance! 50% off unlimited learning
Sale ends in
Display a plot of detection (capture) histories or telemetry data over a map of the detectors.
# S3 method for capthist
plot(x, rad = 5, hidetraps = FALSE, tracks = FALSE,
title = TRUE, subtitle = TRUE, add = FALSE, varycol = TRUE,
icolours = NULL, randcol = FALSE, lab1cap = FALSE, laboffset = 4, ncap = FALSE,
splitocc = NULL, col2 = "green", type = c("petal", "n.per.detector", "n.per.cluster",
"sightings", "centres", "telemetry", "nontarget"),
cappar = list(cex = 1.3, pch = 16, col = "blue"),
trkpar = list(col = "blue", lwd = 1),
labpar = list(cex = 0.7, col = "black"), ...)plotMCP(x, add = FALSE, col = "black", fill = NA, lab1cap = FALSE, laboffset = 4,
ncap = FALSE, ...)
For type = "petal"
, the number of detections in x
.
For type = "sightings"
, the number of sightings of unmarked animals in x
.
For type = "n.per.detector"
or type = "n.per.cluster"
, a
dataframe with data for a legend (see Examples).
plotMCP
invisibly returns a list in which each component is a
2-column (x,y) dataframe of boundary coordinates for one individual.
an object of class capthist
radial displacement of dot indicating each capture event from the detector location (used to separate overlapping points)
logical indicating whether trap locations should be displayed
logical indicating whether consecutive locations of individual animals should be joined by a line
logical or character string for title
logical or character string for subtitle
logical for whether to add to existing plot
logical for whether to distinguish individuals by colour
vector of individual colours (when varycol
=
TRUE), or colour scale (non-petal plots)
logical to use random colours (varycol
= TRUE)
logical for whether to label the first capture of each animal
distance by which to offset labels from points
logical to display the number of detections per trap per occasion
optional occasion from which second colour is to be used
second colour (used with splitocc
)
character string ("petal", "n.per.detector" or "n.per.cluster")
list of named graphical parameters for detections (passed to par
)
list of named graphical parameters for tracks (passed to par
)
list of named graphical parameters for labels (passed to par
)
arguments to be passed to plot.traps
vector of line colour numbers or names (plotMCP only)
vector of fill colour numbers or names (plotMCP only)
By default, a `petal' plot is generated in the style of Density (Efford 2012)
using eqscplot
from the MASS library.
If type =
"n.per.detector"
or type = "n.per.cluster"
the result is a
colour-coded plot of the number of individuals at each unit, pooled over
occasions.
If type = "sightings"
the sightings of unmarked animals are
displayed on a petal-like plot (requires mark-resight data) (see also sightingPlot
).
If type = "centres"
then a single point is plotted for each animal, jittered on each axis by a random amount (limits +/- rad
/2).
If type = "telemetry"
and the `telemetryxy' attribute is not NULL then the telemetry locations are plotted.
If type = "nontarget"
and the `nontarget' attribute is not NULL then the nontarget captures or interference events are plotted.
If title
= FALSE no title is displayed; if title
= TRUE,
the session identifer is used for the title.
If subtitle
= FALSE no subtitle is displayed; if subtitle
= TRUE, the subtitle gives the numbers of occasions, detections and
individuals.
If x
is a multi-session capthist object then a separate plot is
produced for each session. Use par(mfrow = c(nr, nc))
to allow a
grid of plots to be displayed simultaneously (nr rows x nc columns).
These arguments are used only for petal plots: rad
,
tracks
, varycol
, randcol
, lab1cap
,
laboffset
, ncap
, splitocc
, col2
,
trkpar
, and labpar
. Call occasionKey
to add a key to the petals.
If icolours = NULL
and varycol = TRUE
then a vector of
colours is generated automatically as topo.colors((nrow(x)+1) * 1.5).
If there are too few values in icolours
for the number of
individuals then colours will be re-used.
plotMCP
plots minimum convex polygons of individual location
data over a base plot of detector locations. Usually the data are
telemetry locations in the xylist attribute of the capthist
object; if this is not present and x
is a polygon search
capthist then the individual xy data are plotted.
Efford, M. G. (2012) DENSITY 5.0: software for spatially explicit capture--recapture. Department of Mathematics and Statistics, University of Otago, Dunedin, New Zealand. https://www.otago.ac.nz/density/.
capthist
,
occasionKey
,
sightingPlot
demotrap <- make.grid()
tempcapt <- sim.capthist(demotrap,
popn = list(D = 5, buffer = 50),
detectpar = list(g0 = 0.15, sigma = 30))
plot(tempcapt, border = 10, rad = 3, tracks = TRUE,
lab1cap = TRUE, laboffset = 2.5)
## type = n.per.cluster
## generate some captures
testregion <- data.frame(x = c(0,2000,2000,0),
y = c(0,0,2000,2000))
popn <- sim.popn (D = 10, core = testregion, buffer = 0,
model2D = "hills", details = list(hills = c(-2,3)))
t1 <- make.grid(nx = 1, ny = 1)
t1.100 <- make.systematic (cluster = t1, spacing = 100,
region = testregion)
capt <- sim.capthist(t1.100, popn = popn, noccasions = 1)
## now plot captures ...
temp <- plot(capt, title = "Individuals per cluster",
type = "n.per.cluster", hidetraps = FALSE,
gridlines = FALSE, cappar = list(cex = 1.5))
if (interactive()) {
## add legend; click on map to place top left corner
legend (locator(1), pch = 21, pt.bg = temp$colour,
pt.cex = 1.3, legend = temp$legend, cex = 0.8)
}
if (FALSE) {
## try varying individual colours - requires RColorBrewer
library(RColorBrewer)
plot(infraCH[[2]], icolours = brewer.pal(12, "Set3"), tracks = TRUE,
bg = "black", cappar = list(cex = 2), border = 10, rad = 2,
gridlines = FALSE)
## generate telemetry data
te <- make.telemetry()
tr <- make.grid(detector = "proximity")
totalpop <- sim.popn(tr, D = 20, buffer = 100)
tepop <- subset(totalpop, runif(nrow(totalpop)) < 0.05)
teCH <- sim.capthist(te, popn = tepop, renumber=FALSE, detectfn = "HHN",
detectpar = list(lambda0 = 3, sigma = 25))
plot(teCH, type = 'telemetry', tracks = TRUE)
## simple "centres" example
## polygon data require 'hazard' detection function 14:19
CH <- sim.capthist(make.poly(), nocc = 20, detectfn = 'HHN',
detectpar = list(lambda0 = 1, sigma = 10))
plot(CH, cappar = list(col = 'orange'), varycol = FALSE, border = 10)
plot(CH, type = 'centres', add = TRUE, rad = 0)
}
Run the code above in your browser using DataLab