Definition of Vectors for Plotting or Annotating
This function can be used to define vectors to annotate a set of taxon names, labels, etc. It should facilitate the (re)definition of colours or similar attributes for plotting trees or other graphics.
def(x, ..., default = NULL, regexp = FALSE)
- a vector of mode character.
- a series of statements defining the attributes.
- the default to be used (see details).
- a logical value specifying whether the statements
...should be taken as regular expressions.
The idea of this function is to make the definition of colours, etc., simpler than what is done usually. A typical use will:
def(tr$tip.label, Homo_sapiens = "blue")
which will return a vector of character strings all "black" except one matching the tip label "Homo_sapiens" which will be "blue". Another use could be:
def(tr$tip.label, Homo_sapiens = 2)
which will return a vector a numerical values all 1 except for "Homo_sapiens" which will be 2. Several definitions can be done, e.g.:
def(tr$tip.label, Homo_sapiens = "blue", Pan_paniscus = "red")
The default value is determined with respect to the mode of the values
given with the
... (either "black" or 1).
regexp = TRUE is used, then the names of the statements must be
def(tr$tip.label, "^Pan_" = "red")
will return "red" for all labels starting with "Pan_".
- a vector of the same length than
data(bird.orders) a <- def(bird.orders$tip.label, Galliformes = 2) str(a) # numeric plot(bird.orders, font = a) co <- def(bird.orders$tip.label, Passeriformes = "red", Trogoniformes = "blue") str(co) # character plot(bird.orders, tip.color = co) ### use of a regexp (so we need to quote it) to colour all orders ### with names starting with "C" (and change the default): co2 <- def(bird.orders$tip.label, "^C" = "gold", default = "grey", regexp = TRUE) plot(bird.orders, tip.color = co2)