Learn R Programming

phytools (version 2.5-2)

contMap: Map continuous trait evolution on the tree

Description

Projects the observed and reconstructed values of a continuous trait onto the edges of a tree using a color gradient.

Usage

contMap(tree, x, res=100, fsize=NULL, ftype=NULL, lwd=4, legend=NULL,
   lims=NULL, outline=TRUE, sig=3, type="phylogram", direction="rightwards", 
   plot=TRUE, ...)
# S3 method for contMap
plot(x, ...)
errorbar.contMap(obj, ...)

Arguments

Value

Plots a tree. An object of class "contMap" is returned invisibly.

errorbar.contMap adds colorful error bars to a plotted tree.

Details

Function plots a tree with a mapped continuous character.

The mapping is accomplished by estimating states at internal nodes using ML with fastAnc, and then interpolating the states along each edge using equation [2] of Felsenstein (1985). This makes these interpolated values equal to the maximum likelihood estimates under a Brownian evolutionary process.

The default color palette is not recommended as it is not colorblind friendly and does not render well into gray scale; however, this can be updated using the helper function setMap.

errorbar.contMap adds error bars to an existing plot.

References

Felsenstein, J. (1985) Phylogenies and the comparative method. American Naturalist, 125, 1-15.

Revell, L. J. (2013) Two new graphical methods for mapping trait evolution on phylogenies. Methods in Ecology and Evolution, 4, 754-759.

Revell, L. J. (2014) Graphical methods for visualizing comparative data on phylogenies. Chapter 4 in Modern phylogenetic comparative methods and their application in evolutionary biology: Concepts and practice (L. Z. Garamszegi ed.), pp. 77-103.

Revell, L. J. (2024) phytools 2.0: an updated R ecosystem for phylogenetic comparative methods (and other things). PeerJ, 12, e16505.

Revell, L. J., K. Schliep, E. Valderrama, and J. E. Richardson (2018) Graphs in phylogenetic comparative analysis: Anscombe's quartet revisited. Methods in Ecology and Evolution, 9, 2145-2154.

See Also

anc.ML, densityMap, fastAnc, plotSimmap

Examples

Run this code
## load data from Garland et al. (1992)
data(mammal.tree)
data(mammal.data)

## extract character of interest
ln.bodyMass<-log(setNames(mammal.data$bodyMass,
    rownames(mammal.data)))

## create "contMap" object
mammal.contMap<-contMap(mammal.tree,
    ln.bodyMass,plot=FALSE,res=200)

## change color scheme
mammal.contMap<-setMap(mammal.contMap,
    c("white","#FFFFB2","#FECC5C","#FD8D3C",
        "#E31A1C"))

## plot object
plot(mammal.contMap,fsize=c(0.7,0.8),
    leg.txt="log(body mass)")

## reset margins to default
par(mar=c(5.1,4.1,4.1,2.1)) 

Run the code above in your browser using DataLab