fviz_dend {factoextra} | R Documentation |
Draws easily beautiful dendrograms using either R base plot or ggplot2. Provides also an option for drawing a circular dendrogram and phylogenic trees.
fviz_dend( x, k = NULL, h = NULL, k_colors = NULL, palette = NULL, show_labels = TRUE, color_labels_by_k = TRUE, label_cols = NULL, labels_track_height = NULL, repel = FALSE, lwd = 0.7, type = c("rectangle", "circular", "phylogenic"), phylo_layout = "layout.auto", rect = FALSE, rect_border = "gray", rect_lty = 2, rect_fill = FALSE, lower_rect, horiz = FALSE, cex = 0.8, main = "Cluster Dendrogram", xlab = "", ylab = "Height", sub = NULL, ggtheme = theme_classic(), ... )
x |
an object of class dendrogram, hclust, agnes, diana, hcut, hkmeans or HCPC (FactoMineR). |
k |
the number of groups for cutting the tree. |
h |
a numeric value. Cut the dendrogram by cutting at height h. (k overrides h) |
k_colors, palette |
a vector containing colors to be used for the groups. It should contains k number of colors. Allowed values include also "grey" for grey color palettes; brewer palettes e.g. "RdBu", "Blues", ...; and scientific journal palettes from ggsci R package, e.g.: "npg", "aaas", "lancet", "jco", "ucscgb", "uchicago", "simpsons" and "rickandmorty". |
show_labels |
a logical value. If TRUE, leaf labels are shown. Default value is TRUE. |
color_labels_by_k |
logical value. If TRUE, labels are colored automatically by group when k != NULL. |
label_cols |
a vector containing the colors for labels. |
labels_track_height |
a positive numeric value for adjusting the room for the labels. Used only when type = "rectangle". |
repel |
logical value. Use repel = TRUE to avoid label overplotting when type = "phylogenic". |
lwd |
a numeric value specifying branches and rectangle line width. |
type |
type of plot. Allowed values are one of "rectangle", "triangle", "circular", "phylogenic". |
phylo_layout |
the layout to be used for phylogenic trees. Default value
is "layout.auto". Allowed values include:
|
rect |
logical value specifying whether to add a rectangle around groups. Used only when k != NULL. |
rect_border, rect_lty |
border color and line type for rectangles. |
rect_fill |
a logical value. If TRUE, fill the rectangle. |
lower_rect |
a value of how low should the lower part of the rectangle around clusters. Ignored when rect = FALSE. |
horiz |
a logical value. If TRUE, an horizontal dendrogram is drawn. |
cex |
size of labels |
main, xlab, ylab |
main and axis titles |
sub |
Plot subtitle. If NULL, the method used hierarchical clustering is shown. To remove the subtitle use sub = "". |
ggtheme |
function, ggplot2 theme name. Default value is theme_classic(). Allowed values include ggplot2 official themes: theme_gray(), theme_bw(), theme_minimal(), theme_classic(), theme_void(), .... |
... |
other arguments to be passed to the function plot.dendrogram() |
an object of class fviz_dend which is a ggplot with the attributes "dendrogram" accessible using attr(x, "dendrogram"), where x is the result of fviz_dend().
# Load and scale the data data(USArrests) df <- scale(USArrests) # Hierarchical clustering res.hc <- hclust(dist(df)) # Default plot fviz_dend(res.hc) # Cut the tree fviz_dend(res.hc, cex = 0.5, k = 4, color_labels_by_k = TRUE) # Don't color labels, add rectangles fviz_dend(res.hc, cex = 0.5, k = 4, color_labels_by_k = FALSE, rect = TRUE) # Change the color of tree using black color for all groups # Change rectangle border colors fviz_dend(res.hc, rect = TRUE, k_colors ="black", rect_border = 2:5, rect_lty = 1) # Customized color for groups fviz_dend(res.hc, k = 4, k_colors = c("#1B9E77", "#D95F02", "#7570B3", "#E7298A")) # Color labels using k-means clusters km.clust <- kmeans(df, 4)$cluster fviz_dend(res.hc, k = 4, k_colors = c("blue", "green3", "red", "black"), label_cols = km.clust[res.hc$order], cex = 0.6)