Get the x-y coordinates of a dendrogram's nodes
Get the x-y coordinates of a dendrogram's nodes. Can be used to add text or images on the tree.
get_nodes_xy( dend, type = c("rectangle", "triangle"), center = FALSE, horiz = FALSE, ... )
dend |
a dendrogram object |
type |
type of plot. |
center |
logical; if TRUE, nodes are plotted centered with respect to the leaves in the branch. Otherwise (default), plot them in the middle of all direct child nodes. |
horiz |
logical indicating if the dendrogram should be drawn horizontally or not. |
... |
not used |
A 2-dimensional matrix, with rows as the number of nodes, and the first column is the x location, while the second is the y location.
This is a striped down version of the
function plot.dendrogram
.
It performs (almost) the same task, only it does not do any plotting
but it does save the x-y coordiantes of the nodes.
## Not run: # If we would like to see the numbers from plot: # ?getOption("verbose") # options(verbose=TRUE) # options(verbose=FALSE) # ----- # Draw a depth first search illustration # ----- dend <- 1:5 %>% dist() %>% hclust() %>% as.dendrogram() get_nodes_xy(dend) # polygon(get_nodes_xy(dend), col = 2) plot(dend, leaflab = "none", main = "Depth-first search in a dendrogram" ) xy <- get_nodes_xy(dend) for (i in 1:(nrow(xy) - 1)) { arrows(xy[i, 1], xy[i, 2], angle = 17, length = .5, xy[i + 1, 1], xy[i + 1, 2], lty = 1, col = 3, lwd = 1.5 ) } points(xy, pch = 19, cex = 4) text(xy, labels = 1:nnodes(dend), cex = 1.2, col = "white", adj = c(0.4, 0.4)) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.