surveillance (version 1.12.1)

epidata_plot: Plotting the Evolution of an Epidemic

Description

Functions for plotting the evolution of epidemics. The plot methods for classes "epidata" and "summary.epidata" plots the numbers of susceptible, infectious and recovered (= removed) individuals by step functions along the time axis. The function stateplot shows individual state changes along the time axis.

Usage

## S3 method for class 'summary.epidata':
plot(x,
     lty = c(2, 1, 3), lwd = 2,
     col = c("#1B9E77", "#D95F02", "#7570B3"), col.hor = col, col.vert = col,
     xlab = "Time", ylab = "Number of individuals",
     xlim = NULL, ylim = NULL, legend.opts = list(), do.axis4 = NULL,
     panel.first = grid(), rug.opts = list(),
     which.rug = c("infections", "removals", "susceptibility", "all"), ...)
## S3 method for class 'epidata':
plot(x, ...)

stateplot(x, id, ...)

Arguments

x
an object inheriting from class "epidata" or "summary.epidata". In the former case, its summary is calculated and the function continues as in the latter case. The plot method for class "epidata"<
lty, lwd
vectors of length 3 containing the line types and widths, respectively, for the numbers of susceptible, infectious and removed individuals (in this order). By default, all lines have width 1 and the line types are dashed (susceptible), solid
col, col.hor, col.vert
vectors of length 3 containing the line colors for the numbers of susceptible, infectious and removed individuals (in this order). col.hor defines the color for the horizontal parts of the step function, whilst col.vert
xlab, ylab
axis labels, default to "Time" and "Number of individuals", respectively.
xlim, ylim
the x and y limits of the plot in the form c(xmin, xmax) and c(ymin, ymax), respectively. By default, these are chosen adequately to fit the time range of the epidemic and the number of individuals.
legend.opts
if this is a list (of arguments for the legend function), a legend will be plotted. The defaults are as follows: [object Object],[object Object],[object Object],[object Object],[object Object]
do.axis4
logical indicating if the final numbers of susceptible and removed individuals should be indicated on the right axis. The default NULL means TRUE, if x represents a SIR epidemic and FALSE ot
panel.first
an expression to be evaluated after the plot axes are set up but before any plotting takes place. By default, a standard grid is drawn.
rug.opts
either a list of arguments passed to the function rug or NULL (or NA), in which case no rug will be plotted. By default, the argument ticksize is set
which.rug
By default, tick marks are drawn at the time points of infections. Alternatively, one can choose to mark only "removals", "susceptibilities" (i.e. state change from R to S) or "all" events.
id
single character string or factor of length 1 specifying the individual for which the stateplot should be established.
...
For plot.summary.epidata: further graphical parameters passed to plot, lines and axis, e.g. main, las, cex.axis (etc.) and mgp. For plo

Value

  • plot.summary.epidata (and plot.epidata) invisibly returns the matrix used for plotting, which contains the evolution of the three counters. stateplot invisibly returns the function, which was plotted, typically of class "stepfun", but maybe of class "function", if no events have been observed for the individual in question (then the function always returns the initial state). The vertical axis of stateplot can range from 1 to 3, where 1 corresponds to Susceptible, 2 to Infectious and 3 to Removed.

See Also

summary.epidata for the data, on which the plots are based. animate.epidata for the animation of epidemics.

Examples

Run this code
data("fooepidata")
s <- summary(fooepidata)

# evolution of the epidemic
par(las = 1)
plot(s)

# stateplot
stateplot(s, id = "15", main = "Some individual event paths")
stateplot(s, id = "1", add = TRUE, col = 2)
stateplot(s, id = "20", add = TRUE, col = 3)
legend("topright", legend = c(15, 1, 20), title = "id", lty = 1, col = 1:3,
       inset = 0.1)

Run the code above in your browser using DataCamp Workspace