surveillance (version 1.12.1)

epidataCS_plot: Plotting the Events of an Epidemic over Time and Space

Description

The plot method for class "epidataCS" either plots the number of events along the time axis (epidataCSplot_time) as a hist(), or the locations of the events in the observation region W (epidataCSplot_space). The spatial plot can be enriched with tile-specific color levels to indicate attributes such as the population (using spplot).

Usage

## S3 method for class 'epidataCS':
plot(x, aggregate = c("time", "space"), subset, by = type, ...)

epidataCSplot_time(x, subset, by = type, t0.Date = NULL, breaks = "stgrid", freq = TRUE, col = rainbow(nTypes), cumulative = list(), add = FALSE, mar = NULL, xlim = NULL, ylim = NULL, xlab = "Time", ylab = NULL, main = NULL, panel.first = abline(h=axTicks(2), lty=2, col="grey"), legend.types = list(), ...)

epidataCSplot_space(x, subset, by = type, tiles = x$W, pop = NULL, cex.fun = sqrt, points.args = list(), add = FALSE, legend.types = list(), legend.counts = list(), sp.layout = NULL, ...)

Arguments

x
an object of class "epidataCS".
aggregate
character, one of "time" and "space", referring to the specific plot functions epidataCSplot_time and epidataCSplot_time, respectively. For "time", the number of events over time
subset
logical expression indicating a subset of events to consider for plotting: missing values are taken as false. Note that the expression is evaluated in the data frame of event marks (marks(x)), which means that column names can be
...
in the basic plot-method further arguments are passed to the aggregate-specific plot function. In epidataCSplot_time, further graphical parameters are passed to hist
by
an expression evaluated in marks(x), defining how events should be stratified in the plot (the result is converted to a factor), or NULL to disregard event types. By default (by = type) the plot distingui
t0.Date
the beginning of the observation period t0 = x$stgrid$start[1] as a "Date" (or anything coercible by as.Date without further arguments), enabling a nice x-axis using
breaks
a specification of the histogram break points, see hist (or hist.Date if t0.Date is used). The default value "stgrid" is spe
freq
see hist, defaults to TRUE.
col
fill colour for the bars of the histogram, defaults to the vector of rainbow colours.
cumulative
if a list (of style options), lines for the cumulative number of events (per type) will be added to the plot. Possible options are axis (logical), lab (axis label), maxat (single integer affecting the
add
logical (default: FALSE) indicating if the plot should be added to an existing window. Ignored if an spplot is created (if pop is non-NULL).
mar
see par. The default (NULL) is mar <- par("mar"), with mar[4] <- mar[2] if an axis is requested for the cumulative numbers.
xlim,ylim
NULL provides automatic axis limits.
xlab,ylab
axis labels (with sensible defaults).
main
main title of the plot (defaults to no title).
panel.first
expression that should be evaluated after the plotting window has been set up but before the histogram is plotted. Defaults to adding horizontal grid lines.
legend.types
if a list (of arguments for legend), a legend for the event types is added to the plot in case there is more than one type.
tiles
the observation region x$W (default) or, alternatively, a "SpatialPolygons" representation of the tiles of x$stgrid.
pop
if tiles is a "SpatialPolygonsDataFrame", pop can specify an attribute to be displayed in a levelplot behind the point pattern, see
cex.fun
function which takes a vector of counts of events at each unique location and returns a (vector of) cex value(s) for the sizes of the corresponding points. Defaults to the sqrt() function, which for the d
points.args
a list of (type-specific) graphical parameters for points, specifically pch, lwd, and col, which are all recycled to give the length nlevels(x$events$
legend.counts
if a list (of arguments for legend), a legend illustrating the effect of cex.fun is added to the plot. This list may contain a special element counts, which is an integ
sp.layout
optional list of additional layout items in case pop is non-NULL, see spplot.

Value

  • For aggregate="time" (i.e., epidataCSplot_time) the data of the histogram (as returned by hist), and for aggregate="space" (i.e., epidataCSplot_space) NULL, invisibly, or the trellis.object generated by spplot (if pop is non-NULL).

See Also

animate.epidataCS

Examples

Run this code
data("imdepi")

## show the occurrence of events along time
plot(imdepi, "time", main = "Histogram of event time points")
plot(imdepi, "time", by = NULL, main = "Aggregated over both event types")

## show the distribution in space
plot(imdepi, "space", lwd = 2, col = "lavender")

## with the district-specific population density in the background,
## a scale bar, and customized point style
load(system.file("shapes", "districtsD.RData", package = "surveillance"))
districtsD$log10pop <- log10(districtsD$POPULATION)
keylabels <- c(1,2,5) * rep(10^(4:6), each=3)
plot(imdepi, "space", tiles = districtsD, pop = "log10pop", col = "white",
     ## modify point style for better visibility on gray background
     points.args = list(pch = 19, col = c("orangered", "blue")),
     ## metric scale bar due to projected coordinates, see proj4string(imdepi$W)
     sp.layout = layout.scalebar(imdepi$W, scale=100, labels=c("0", "100 km")),
     ## gray background levels for the district population
     col.regions = gray.colors(100, start=0.9, end=0.1),
     ## color key is equidistant on log10(population) scale
     at = seq(4.5, 6.6, by = 0.05),
     colorkey = list(labels=list(at=log10(keylabels), labels=keylabels/1000)))
grid::grid.text("District population [1000 inhabitants]", x=0.95, rot=90)

Run the code above in your browser using DataLab