1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/get_nodes_xy.R
\name{get_nodes_xy}
\alias{get_nodes_xy}
\title{Get the x-y coordinates of a dendrogram's nodes}
\source{
This is a striped down version of the
function \code{\link{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.
}
\usage{
get_nodes_xy(
dend,
type = c("rectangle", "triangle"),
center = FALSE,
horiz = FALSE,
...
)
}
\arguments{
\item{dend}{a dendrogram object}
\item{type}{type of plot.}
\item{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.}
\item{horiz}{logical indicating if the dendrogram should be drawn horizontally or not.}
\item{...}{not used}
}
\value{
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.
}
\description{
Get the x-y coordinates of a dendrogram's nodes. Can be used to add text or images on the tree.
}
\examples{
\dontrun{
# 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))
}
}
\seealso{
\link{get_nodes_attr}, \link{nnodes},
\link{nleaves}
}
|