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.
trex(phy, title = TRUE, subbg = "lightyellow3",
return.tree = FALSE, ...)
an object of class "phylo"
if return.tree = TRUE
an object of class "phylo"
.
a logical or a character string (see details).
a character string giving the background colour for the subtree.
a logical: if TRUE
, the subtree is returned
after being plotted and the operation is stopped.
further arguments to pass to plot.phylo
.
Emmanuel Paradis
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.
plot.phylo
, identify.phylo
if (FALSE) {
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