plot_date produces an activity or tempo plot.

plot_date(object, ...)

plot_time(object, dates, ...)

# S4 method for CountMatrix,missing
  highlight = NULL,
  level = 0.95,
  roll = FALSE,
  window = 5,
  facet = TRUE,

# S4 method for DataMatrix
plot_date(object, select = NULL, sort = "dsc")

# S4 method for DateEvent
  type = c("activity", "tempo"),
  event = FALSE,
  select = 1,
  n = 500

# S4 method for CountMatrix,numeric
  highlight = NULL,
  level = 0.95,
  roll = FALSE,
  window = 5,
  facet = TRUE,



An object of class DateModel to be plotted.


Further arguments to be passed to internal methods.


A numeric vector of dates.


A character string indicating the type of plot. It must be one of "FIT" or NULL (default). Any unambiguous substring can be given.


A length-one numeric vector giving the confidence level.


A logical scalar: should each time series be subsetted to look for episodes of selection? Only used if highlight is "FIT" (see details).


An odd integer giving the size of the rolling window. Only used if roll is TRUE.


A logical scalar: should a matrix of panels defined by type/taxon be drawn? Only used if highlight is NULL.


A numeric or character vector giving the selection of the assemblage that are drawn.


A character string indicating whether the dates should be sorted. It can be one of "asc" or "dsc" (default). Any unambiguous substring can be given. If NULL no sorting is performed.


A character string indicating the type of plot. It must be one of "activity" (default) or "tempo". Any unambiguous substring can be given.


A logical scalar: should the distribution of the event date be displayed? Only used if type is "activity".


A length-one non-negative numeric vector giving the desired length of the vector of quantiles for density computation.


A ggplot object.


plot_time produces an abundance vs. time diagram.


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

Event and Acccumulation Dates

plot_date plots the probability estimate density curves of archaeological assemblage dates (event and accumulation dates; Bellanger and Husi 2012). The event date is plotted as a line, while the accumulation date is shown as a grey filled area.

The accumulation date can be displayed as a tempo plot (Dye 2016) or an activity plot (Philippe and Vibet 2017):

Tempo plot

A tempo plot estimates the cumulative occurrence of archaeological events, such as the slope of the plot directly reflects the pace of change.

Activity plot

An activity plot displays the first derivative of the tempo plot.

Detection of Selective Processes

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 test_fit identifies selection.


Bellanger, L. & Husi, P. (2012). Statistical Tool for Dating and Interpreting Archaeological Contexts Using Pottery. Journal of Archaeological Science, 39(4), 777-790. DOI: 10.1016/j.jas.2011.06.031.

Dye, T. S. (2016). Long-Term Rhythms in the Development of Hawaiian Social Stratification. Journal of Archaeological Science, 71, 1-9. DOI: 10.1016/j.jas.2016.05.006.

Philippe, A. & Vibet, M.-A. (2017). Analysis of Archaeological Phases using the CRAN Package ArchaeoPhases. HAL, hal-01347895, v3.

See also


N. Frerebeau


## Coerce the merzbach dataset to a count matrix ## 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 <- as_count(merzbach[, keep]) ## The data are grouped by phase ## We use the row names as time coordinates (roman numerals) dates <- as.numeric(utils::as.roman(rownames(counts))) ## Plot time vs abundance plot_time(counts, dates)
## Plot time vs abundance and highlight selection plot_time(counts, dates, highlight = "FIT", roll = TRUE)