Retrieve/assign colors to the labels of a dendrogram
Retrieve/assign colors to the labels of a dendrogram. Note that usually dend objects come without any color assignment (and the output will be NULL, until colors are assigned).
labels_colors(dend, labels = TRUE, ...) labels_col(dend, labels = TRUE, ...) labels_colors(dend, ...) <- value
dend |
a dendrogram object |
labels |
Boolean (default is TRUE), should the returned vector of colors return with the leaves labels as names. |
... |
not used |
value |
a vector of colors to be used as new label's colors for the dendrogram |
A vector with the dendrogram's labels colors (or a colored dendrogram, in case assignment is used). The colors are labeled.
Heavily inspired by the code in the example of dendrapply, so credit should go to Martin Maechler. I also implemented some ideas from Gregory Jefferis's dendroextras package (having the "names" of the returned vector be the labels).
# define dendrogram object to play with: hc <- hclust(dist(USArrests[1:3, ]), "ave") dend <- as.dendrogram(hc) # Defaults: labels_colors(dend) plot(dend) # let's add some color: labels_colors(dend) <- 2:4 labels_colors(dend) plot(dend) # doesn't work... # get_nodes_attr(dend, "nodePar", include_branches = FALSE) # changing color to black labels_colors(dend) <- 1 labels_colors(dend) plot(dend) # removing color (and the nodePar completely - if it has no other attributed but lab.col) suppressWarnings(labels_colors(dend) <- NULL) labels_colors(dend) plot(dend)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.