An R package for the spectral and spatial analysis of color patterns

Currently maintained by Rafael Maia, Thomas White, and Hugo Gruson.


pavo is an R package developed with the goal of establishing a flexible and integrated workflow for working with spectral and spatial colour data. It includes functions that take advantage of new data classes to work seamlessly from importing raw spectra and images, to visualisation and analysis. It provides flexible ways to input spectral data from a variety of equipment manufacturers, process these data, extract variables, and produce publication-quality figures.

pavo was written with the following workflow in mind:

  • Organise data by importing and processing spectra and images (e.g., to remove noise, negative values, smooth curves, etc.).
  • Analyse the resulting files, using spectral analyses of shape (hue, saturation, brightness), visual models based on perceptual data, and/or spatial adjacency and boundary strength analyses.
  • Visualise the output, with multiple options provided for exploration, presentation, and analysis.

Need more information, or help with the package?

Citing pavo

The manuscript describing the current iteration of the package has been published and are free to access:

Maia R., Gruson H., Endler J.A. and White T.E. 2019 pavo 2: new tools for the spectral and spatial analysis of colour in R. Methods In Ecology and Evolution, Early View.


This is the development page for pavo. The stable release is available from CRAN. Simply use install.packages("pavo") to install.

If you want to install the bleeding edge version of pavo, you can:

  • download files from GitHub and install using $R CMD INSTALL or, from within R:
install.packages(path, type = "source", repos = NULL)