Learn R Programming

ape (version 5.0)

trex: Tree Explorer With Multiple Devices

Description

This function requires a plotted tree: the user is invited to click close to a node and the corresponding subtree (or clade) is plotted on a new window.

Usage

trex(phy, title = TRUE, subbg = "lightyellow3",
     return.tree = FALSE, ...)

Arguments

phy

an object of class "phylo".

title

a logical or a character string (see details).

subbg

a character string giving the background colour for the subtree.

return.tree

a logical: if TRUE, the subtree is returned after being plotted and the operation is stopped.

further arguments to pass to plot.phylo.

Value

an object of class "phylo" if return.tree = TRUE

Details

This function works with a tree (freshly) plotted on an interactive graphical device (i.e., not a file). After calling trex, the user clicks close to a node of the tree, then the clade from this node is plotted on a new window. The user can click as many times on the main tree: the clades are plotted successively on the same new window. The process is stopped by a right-click. If the user clicks too close to the tips, a message ``Try again!'' is printed.

Each time trex is called, the subtree is plotted on a new window without closing or deleting those possibly already plotted. They may be distinguished with the options title and/or subbg.

In all cases, the device where phy is plotted is the active window after the operation. It should not be closed during the whole process.

If title = TRUE, a default title is printed on the new window using the node label, or the node number if there are no node labels in the tree. If title = FALSE, no title is printed. If title is a character string, it is used for the title.

See Also

plot.phylo, identify.phylo

Examples

Run this code
# NOT RUN {
tr <- rcoal(1000)
plot(tr, show.tip.label = FALSE)
trex(tr) # left-click as many times as you want, then right-click
tr <- makeNodeLabel(tr)
trex(tr, subbg = "lightgreen") # id.

## generate a random colour with control on the darkness:
rRGB <- function(a, b)
    rgb(runif(1, a, b), runif(1, a, b), runif(1, a, b))

### with a random pale background:
trex(tr, subbg = rRGB(0.8, 1))
## the above can be called many times...
graphics.off() # close all graphical devices
# }

Run the code above in your browser using DataLab