Skip to content

Predation matrices

The following is Owen’s contribution to the Visualisation and analysis of ecological networks in a changing world workshop at Intecol2013. The workshop is from 12.15 to 14.15, Thursday, in Capital Suite 7. The organiser is Eoin O’Gorman. Other contributors include Athen Ma, Dan Reuman, Lawrence Hudson, Carsten Dorman, Jennifer Dunne, & Raul Mondragon.

Ecological networks, including food webs, are often perceived as being very complex networks of interactions among species. One might be tempted to imagine them as tangled webs or hairballs of interactions. This perception may be enhanced by the dominant method for visualising ecological networks (particularly food webs): nodes (species) connected by links (interspecific interactions).


Whether 2D or 3D, such depictions probably enhance the perceived complexity of ecological networks. (The figure on the left is from Yodzis, 1998, Journal of Animal Ecology, 67, 635. The one on the right is the Caribbean reef food web from the gallery of food webs at

One alternative visualisation is the predation matrix. Species are represented in rows and columns, with rows being a species as a resource and columns a species as a consumer. A dot indicates that the species in the column consumes the species in the row. This explanation, and how to “read” the predation matrix should become clearer by example. Here is the predation matrix of the Benguela food web (from Yodzis, 1998, Journal of Animal Ecology, 67, 635-658).


Species richness is the number of columns, or the number of rows.
Number of links is the number of dots.
Connectance is how much of the matrix is filled with dots.
Cannibals are shown where dots appear on the diagonal.
Diet breadth of a species is the number of dots in the column.
Diet contiguity is related to the gaps between dots in a column.
Vulnerability is the number of dots in a row.
If the rows and columns are ordered by an important variable, such as body size (they are in the Benguela predation matrix above):
Compartments will be visible as blocks of dots.
Triangularity will be visible: most dots above or below the diagonal.
If the rows and columns are ordered by trophic level (they are not in the Benguela predation matrix above):
Trophic height of the food web is indicated by how close are dots to the diagonal.
A species’ trophic level can be seen, by how far down the diagonal it appears.

Here’s a demonstration of the relationships between the distribution of interactions (dots) in a predation matrix, and the distribution of species among trophic levels. (Ignore the four bars at the top of the movie, and the two bar charts in the bottom left.)


And here’s a demonstration of the relationships between the distribution of interactions (dots) in a predation matrix, and the number of trophic levels in the food web.



This list above of species characteristics and food web properties that can be divined from a predation matrix is not exhaustive. And one can also add more information. Dots can be coloured to, for example, show different interaction types (e.g., predation, parasitism, herbivory). Dot size can be scaled with some measure of interaction strength. Underlays can show other other information, such as the links predicted by a model. And instead of having equally spaced rows and columns, these can be spaced according to a variable about the species, such as body size.

Plotting predation matrices in R can be really simple, through to very complex, depending on how much information you want to include, and how pretty you want the end product. Here are some of the options from simple to more complicated.

The image() function:


The Plot.matrix() function Owen wrote:


The PlotPredationMatrix() in the cheddar package:


And, skipping to a more complex plot with more information, in particular an underlay (grey dots) showing the trophic interactions predicted by a model. (This figure comes from Woodward et al, 2010, Adv. Ecol. Res., 43, 212.)



The R code and datasets required to reproduce these figures is here, in the food web folder, in the predation matrices examples subfolder.

So, predation matrices are the way forward. Well, actually I don’t believe that. Obviously one has to choose the best visualization for your application / question / purpose. Just don’t overlook predation matrices. You can do an awful lot with them.

Finally, some blatant self-promotion. Lots of predation matrices used in this article about how body size and simple (but quite mechanistic) foraging rules can help understand food web structure. And in this article about how we can do an even better job if we forget about species and instead focus on the size of individuals.

(Any idea who first used a matrix to depict a food web?)