Visualize co-phylogenetic trees by multiple methods.
cophylo(tr1, tr2, assoc=NULL, rotate=TRUE, ...)
# S3 method for cophylo
plot(x, ...)
cotangleplot(tr1, tr2, type=c("cladogram","phylogram"),
use.edge.length=TRUE, tangle=c("both","tree1","tree2"), ...)
An object of class "cophylo"
which includes the following components or a pair of plotted facing phylogenies with links between tips as specified in assoc
.
object of class "phylo"
.
object of class "phylo"
.
matrix containing the tip labels in tr1
to match to the tip labels in tr2
. Note that not all labels in either tree need to be included; and, furthermore, one label in tr1
can be matched with more than one label in tr2
, or vice versa.
logical argument indicating whether nodes on both trees should be rotated to attempt to match in vertical position.
in the case of plot.cophylo
, an object of class "cophylo"
to be plotted.
for cotangleplot
, the tree plotting style.
for cotangleplot
, a logical value indicating whether or not to plot trees with edge lengths.
for cotangleplot
, whether to tangle the left tree, the right tree, or both.
optional arguments to be passed to tipRotate
, or, in the case of plot.cophylo
, to the internally used tree plotting function, phylogram
. phylogram
takes similar arguments to plotSimmap
, such as fsize
, ftype
, lwd
, and pts
, though not all options from plotSimmap
and plotTree
are available. If fsize
is supplied as a vector, different size fonts for the left & right facing trees may be used. In addition, the optional argument scale.bar
, which should be a vector containing the lengths of the scale bars desired for the right & left trees, will add scale bars to the plot when supplied to plot.cophylo
. If either tree contains polytomies, the cophylo
argument rotate.multi
should be set to TRUE
. If curved linking lines are desired, the plot.cophylo
argument link.type
should be set to "curved"
. Other arguments for the plot
method include link.col
, link.lty
, and link.lwd
, which can be supplied as a scalar or a vector in which the order of the elements corresponds to the order of the associations in assoc
. Finally, edge.col
, a list consisting of two vectors (left
and right
) can be used to specify the edge colors of the two left & right plotted trees. Note that the edge order is the same as in the rotated trees, assuming that a rotation has been performed on x
.
Liam Revell liam.revell@umb.edu
cophylo
an object of class "cophylo"
or, in the case of plot.cophylo
, plots that object. The function can (optionally) first attempt to rotate the nodes of both trees to optimize vertical matching of tips.
If no matrix of associations, assoc
, is provided, then cophylo
will look for exact matches of tip labels between trees.
cotangleplot
creates a co-phylogenetic plot in which the edges of the matched trees are crossing and is designed to be used only on phylogenies with matching tip labels.
Revell, L. J. (2024) phytools 2.0: an updated R ecosystem for phylogenetic comparative methods (and other things). PeerJ, 12, e16505.
cophyloplot
, plotSimmap
## load data from Lopez-Vaamonde et al. (2001)
data(wasp.trees)
data(wasp.data)
## create co-phylogenetic object
wasp.cophylo<-cophylo(wasp.trees[[1]],wasp.trees[[2]],
assoc=wasp.data)
## plot co-phylogenies
plot(wasp.cophylo,link.type="curved",link.lwd=4,
link.lty="solid",link.col=make.transparent("red",
0.25))
par(mar=c(5.1,4.1,4.1,2.1))
Run the code above in your browser using DataLab