table.phylo4d {adephylo}R Documentation

Graphical display of phylogeny and traits

Description

This function represents traits onto the tips of a phylogeny. Plotted objects must be valid phylo4d objects (implemented by the phylobase package). Current version allows plotting of a tree and one or more quantitative traits (possibly containing missing data, represented by an 'x').

The plot of phylogenies is performed by a call to plot.phylo from the ape package. Hence, many of the arguments of plot.phylo can be passed to table.phylo4d, through the ... argument, but their names must be complete.

Usage

table.phylo4d(x, treetype=c("phylogram","cladogram"), symbol=c("circles", "squares"),
                      repVar=1:ncol(tdata(x, type="tip")), center=TRUE, scale=TRUE, legend=TRUE, grid=TRUE, box=TRUE,
                      show.tip.label=TRUE, show.node.label=TRUE, show.var.label=TRUE,
                      ratio.tree=1/3, font=3,
                      tip.label=tipLabels(x), var.label=colnames(tdata(x,type="tip")),
                      cex.symbol=1, cex.label=1, cex.legend=1,
  coord.legend=NULL, ...)

Arguments

x a phylo4d object
treetype the type of tree to be plotted ("phylogram" or "cladogram")
symbol the type of symbol used to represent data ("circles" or "squares")
repVar the numerical index of variables to be plotted
center a logical stating whether variables should be centred (TRUE, default) or not (FALSE)
scale a logical stating whether variables should be scaled (TRUE, default) or not (FALSE)
legend a logical stating whether a legend should be added to the plot (TRUE) or not (FALSE, default)
grid a logical stating whether a grid should be added to the plot (TRUE, default) or not (FALSE)
box a logical stating whether a box should be added around the plot (TRUE, default) or not (FALSE)
show.tip.label a logical stating whether tip labels should be printed (TRUE, default) or not (FALSE)
show.node.label a logical stating whether node labels should be printed (TRUE, default) or not (FALSE)
show.var.label a logical stating whether labels of variables should be printed (TRUE, default) or not (FALSE)
ratio.tree the proportion of width of the figure occupied by the tree
font an integer specifying the type of font for the labels: 1 (plain text), 2 (bold), 3 (italic, default), or 4 (bold italic).
tip.label a character vector giving the tip labels
var.label a character vector giving the labels of variables
cex.symbol a numeric giving the factor scaling the symbols
cex.label a numeric giving the factor scaling all labels
cex.legend a numeric giving the factor scaling the legend
coord.legend an optional list with two components 'x' and 'y' indicating the lower-left position of the legend. Can be set to locator(1) to position the legend interactively.
... further arguments to be passed to plot methods from ape. See plot.phylo.

Details

The function table.phylo4d is based on former plot method for phylo4d objects from the phylobase package. It replaces the deprecated ade4 functions symbols.phylog and table.phylog.

Author(s)

Thibaut Jombart tjombart@imperial.ac.uk

See Also

The phylo4d class for storing phylogeny+data.

plot.phylo from the ape package.

An alternative (deprecated) representation is available from dotchart.phylog.

Examples

if(require(ape) & require(phylobase) & require(ade4)){

## simulated data
tr <- rtree(20)
dat <- data.frame(a = rnorm(20), b = scale(1:20), c=runif(20,-2,2) )
dat[3:6, 2] <- NA # introduce some NAs
obj <- phylo4d(tr, dat) # build a phylo4d object
table.phylo4d(obj) # default scatterplot
table.phylo4d(obj,cex.leg=.6, use.edge.length=FALSE) # customized
table.phylo4d(obj,treetype="clad", show.node=FALSE, cex.leg=.6,
use.edge.length=FALSE, edge.color="blue", edge.width=3) # more customized

## teleost fishes data
data(mjrochet)
temp <- read.tree(text=mjrochet$tre) # make a tree
mjr <- phylo4d(x=temp,tip.data=mjrochet$tab) # male a phylo4d object
table.phylo4d(mjr,cex.lab=.5,show.node=FALSE,symb="square")

## lizards data
data(lizards)
liz.tr <- read.tree(tex=lizards$hprA) # make a tree
liz <- phylo4d(liz.tr, lizards$traits) # make a phylo4d object
table.phylo4d(liz)

## plotting principal components
liz.pca1 <- dudi.pca(lizards$traits, scannf=FALSE, nf=2) # PCA of traits
myPC <- phylo4d(liz.tr, liz.pca1$li) # store PC in a phylo4d object
varlab <- paste("Principal \ncomponent", 1:2) # make labels for PCs
table.phylo4d(myPC, ratio=.8, var.lab=varlab) # plot the PCs
add.scatter.eig(liz.pca1$eig,2,1,2,posi="topleft", inset=c(0,.15))
title("Phylogeny and the principal components")
}

[Package adephylo version 1.0-2 Index]