get_nodes_xy | R Documentation |
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.
get_nodes_attr, nnodes, nleaves
## 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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.