phylomorphospace3d: Creates three-dimensional phylomorphospace plot

View source: R/phylomorphospace3d.R

phylomorphospace3dR Documentation

Creates three-dimensional phylomorphospace plot

Description

Creates a phylomorphospace plot in three dimensions.

Usage

phylomorphospace3d(tree, X, A=NULL, label=TRUE, control=list(), 
   method=c("dynamic","static"), ...)

Arguments

tree

a phylogenetic tree in "phylo" format.

X

an n x 3 matrix of tip values for two characters in n species.

A

an optional m x 3 matrix (for m nodes) of values for two traits at internal nodes in the tree - if not supplied, these values will be estimated using anc.ML.

label

logical value indicating whether to print tip labels next to terminal nodes in the plot (presently doesn't do anything, but labels can be dropped using control).

control

a list containing the following optional control parameters: spin: a logical value indicating whether to animate the plot when created; axes: a logical indicating whether to plot the axes; box: a logical value indicating whether to plot in box; simple.axes: logical value indicating whether to replace box and axes with simpler axes; lwd: line widths; ftype: font type ("off" turns off labels altogether); col.edge a vector of colors of length nrow(tree$edge).

method

a string either "dynamic" for a dynamic (animated) plot created using rgl; or "static" for a flat 3D plot created using scatterplot3d and base graphics. The latter has the advantage of being very easy to export in standard format.

...

optional arguments to be passed to scatterplot3d. Most options not available. angle is an important option that does work here.

Details

This function creates a phylomorphospace plot for three characters using the 3D visualization package, rgl (if available) or statically, by simulating 3D on a flat graphical device.

Value

This function creates a three dimensional phylomorphospace plot. The function returns a function from spin3d (for method="dynamic"); or a series of functions from scatterplot3d (for method="static").

Author(s)

Liam Revell liam.revell@umb.edu

References

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.

Sidlauskas, B. (2008) Continuous and arrested morphological diversification in sister clades of characiform fishes: A phylomorphospace approach. Evolution, 62, 3135-3156.

See Also

fancyTree, phenogram, phylomorphospace

Examples

data(anoletree)
data(anole.data)
anole.pca<-phyl.pca(anoletree,anole.data)
## Not run: 
phylomorphospace3d(anoletree,scores(anole.pca)[,1:3],
    control=list(spin=FALSE))
## End(Not run)
par(cex=0.5)
phylomorphospace3d(anoletree,scores(anole.pca)[,1:3],
    method="static",angle=-30)
par(cex=1)

phytools documentation built on June 22, 2024, 10:39 a.m.