Skip to contents

Produces an abundance vs time diagram.


# S4 method for IncrementTest,missing
  calendar = getOption("kairos.calendar"),
  col.neutral = "#004488",
  col.selection = "#BB5566",
  col.roll = "grey",
  flip = FALSE,
  ncol = NULL,
  xlab = NULL,
  ylab = NULL,
  main = NULL,
  sub = NULL,
  ann = graphics::par("ann"),
  axes = TRUE,
  frame.plot = axes,



An IncrementTest object to be plotted.


A TimeScale object specifying the target calendar (see calendar()).

col.neutral, col.selection, col.roll

A vector of colors.


A logical scalar: should the y-axis (ticks and numbering) be flipped from side 2 (left) to 4 (right) from series to series when facet is "multiple"?


An integer specifying the number of columns to use when facet is "multiple". Defaults to 1 for up to 4 series, otherwise to 2.

xlab, ylab

A character vector giving the x and y axis labels.


A character string giving a main title for the plot.


A character string giving a subtitle for the plot.


A logical scalar: should the default annotation (title and x and y axis labels) appear on the plot?


A logical scalar: should axes be drawn on the plot?


A logical scalar: should a box be drawn around the plot?


Further parameters to be passed to panel (e.g. graphical parameters).


plot() is called it for its side-effects: it results in a graphic being displayed (invisibly returns x).


Results of the frequency increment test can be displayed on an abundance vs time diagram aid in the detection and quantification of selective processes in the archaeological record. If roll is TRUE, each time series is subsetted according to window to see if episodes of selection can be identified among decoration types that might not show overall selection. If so, shading highlights the data points where fit() identifies selection.


Displaying FIT results on an abundance vs time diagram is adapted from Ben Marwick's original idea.

See also


Other plotting methods: plot_aoristic, plot_event, plot_mcd, plot_time()


N. Frerebeau


## Data from Crema et al. 2016
data("merzbach", package = "folio")

## Keep only decoration types that have a maximum frequency of at least 50
keep <- apply(X = merzbach, MARGIN = 2, FUN = function(x) max(x) >= 50)
counts <- merzbach[, keep]

## Group by phase
## We use the row names as time coordinates (roman numerals)
dates <- as.numeric(utils::as.roman(rownames(counts)))

## Frequency Increment Test
freq <- fit(counts, dates, calendar = NULL)

## Plot time vs abundance
plot(freq, calendar = NULL, ncol = 3, xlab = "Phases")

## Plot time vs abundance and highlight selection
freq <- fit(counts, dates, calendar = NULL, roll = TRUE, window = 5)
plot(freq, calendar = NULL, ncol = 3, xlab = "Phases")