Learn R Programming

ape (version 5.6-2)

mixedFontLabel: Mixed Font Labels for Plotting

Description

This function helps to format labels with bits of text in different font shapes (italics, bold, or bolditalics) and different separators. The output is intended to be used for plotting.

Usage

mixedFontLabel(..., sep = " ", italic = NULL, bold = NULL,
               parenthesis = NULL,
               always.upright = c("sp.", "spp.", "ssp."))

Value

A vector of mode expression.

Arguments

...

vectors of mode character to be formatted. They may be of different lengths in which case the shortest ones are recycled.

sep

a vector of mode character giving the separators to be printed between the elements in ....

italic

a vector of integers specifying the elements in ... to be printed in italics.

bold

id. in boldface.

parenthesis

id. within parentheses.

always.upright

of vector of mode character giving the strings to not print in italics. Use always.upright = "" to cancel this option.

Author

Emmanuel Paradis

Details

The idea is to have different bits of text in different vectors that are put together to make a vector of R expressions. This vector is interpreted by graphical functions to format the text. A simple use may be mixedFontLabel(genus, species, italic = 1:2), but it is more interesting when mixing fonts (see examples).

To have an element in bolditalics, its number must given in both italic and bold.

The vector returned by this function may be assigned as the tip.label element of a tree of class "phylo", or even as its node.label element.

See Also

makeLabel, makeNodeLabel, label2table, updateLabel, checkLabel

Examples

Run this code
tr <- read.tree(text = "((a,(b,c)),d);")
genus <- c("Gorilla", "Pan", "Homo", "Pongo")
species <- c("gorilla", "spp.", "sapiens", "pygmaeus")
geo <- c("Africa", "Africa", "World", "Asia")
tr$tip.label <- mixedFontLabel(genus, species, geo, italic = 1:2,
  parenthesis = 3)
layout(matrix(c(1, 2), 2))
plot(tr)
tr$tip.label <- mixedFontLabel(genus, species, geo, sep = c(" ", " | "),
  italic = 1:2, bold = 3)
plot(tr)
layout(1)

Run the code above in your browser using DataLab