LTT {ape}R Documentation

Theoretical Lineage-Through Time Plots


This function draws the lineage-through time (LTT) plots predicted under a speciation-extinction model (aka birth-death model) with specified values of speciation and extinction rates (which may vary with time).

A prediction interval is plotted by default which requires to define a sample size (100 by default), and different curves can be combined.


LTT(birth = 0.1, death = 0, N = 100, Tmax = 50, PI = 95,
    scaled = TRUE, eps = 0.1, add = FALSE, backward = TRUE, = list("black", 1, 1), = list("blue", 1, 2), ...)



the speciation rate, this may be either a numeric value or a funtion of time (named t in the code of the function).


id. for the extinction rate.


the size of the tree.


the age of the root of the tree.


the percentage value of the prediction interval; set this value to 0 to not draw this interval.


a logical values specifying whether to scale the y-axis between 0 and 1.


a numerical value giving the resolution of the time axis.


a logical values specifying whether to make a new plot (the default).


a logical value: should the time axis be traced from the present (the default), or from the root of the tree?

a list with three elements giving the style of the LTT curve with, respectively, the colour ("col"), the line thickness ("lwd"), and the line type ("lty").

id. for the prediction interval.


arguments passed to plot (e.g., log="y").


For the moment, this works well when birth and death are constant. Some improvements are under progress for time-dependent rates (but see below for an example).


Emmanuel Paradis


Hallinan, N. (2012) The generalized time variable reconstructed birth–death process. Journal of Theoretical Biology, 300, 265–276.

Paradis, E. (2011) Time-dependent speciation and extinction from phylogenies: a least squares approach. Evolution, 65, 661–672.

Paradis, E. (2015) Random phylogenies and the distribution of branching times. Journal of Theoretical Biology, 387, 39–45.

See Also



### predicted LTT plot under a Yule model with lambda = 0.1
### and 50 species after 50 units of time...
LTT(N = 50)
### ... and with a birth-death model with the same rate of
### diversification (try with N = 500):
LTT(0.2, 0.1, N = 50, PI = 0, add = TRUE, = list("red", 2, 1))
### predictions under different tree sizes:
layout(matrix(1:4, 2, 2, byrow = TRUE))
for (N in c(50, 100, 500, 1000)) {
    LTT(0.2, 0.1, N = N)
    title(paste("N =", N))
## Not run: 
### speciation rate decreasing with time
birth.logis <- function(t) 1/(1 + exp(0.02 * t + 4))
LTT(birth.logis, 0.05)
LTT(birth.logis, 0.1)

## End(Not run)

[Package ape version 5.5 Index]