Labels the edges associated with each split on a plotted tree.

LabelSplits(tree, labels = NULL, unit = "", ...)



A tree of class phylo.


Named vector listing annotations for each split. Names should correspond to the node associated with each split; see as.Splits() for details. If NULL, each splits will be labelled with its associated node.


Character specifying units of labels, if desired. Include a leading space if necessary.


Additional parameters to ape::edgelabels().


LabelSplits() returns invisible(), after plotting labels on each relevant edge of a plot (which should already have been produced using plot(tree)).


As the two root edges of a rooted tree denote the same split, only the rightmost (plotted at the bottom, by default) edge will be labelled. If the position of the root is significant, add a tip at the root using AddTip().

See also

Calculate split support: SplitFrequency()

Colour labels according to value: SupportColour()

Other Splits operations: NSplits(), NTip(), PolarizeSplits(), SplitFrequency(), SplitsInBinaryTree(), Splits, TipLabels(), TipsInSplits(), match.Splits, xor()


tree <- BalancedTree(LETTERS[1:5])
splits <- as.Splits(tree)
LabelSplits(tree, as.character(splits), frame = 'none', pos = 3L)
LabelSplits(tree, TipsInSplits(splits), unit = ' tips', frame = 'none',
            pos = 1L)

# An example forest of 100 trees, some identical
forest <- as.phylo(c(1, rep(10, 79), rep(100, 15), rep(1000, 5)), nTip = 9)

# Generate an 80% consensus tree
cons <- ape::consensus(forest, p = 0.8)

splitFreqs <- SplitFrequency(cons, forest)
LabelSplits(cons, splitFreqs, unit = '%',
            col = SupportColor(splitFreqs / 100),
            frame = 'none', pos = 3L)