tree {cli} | R Documentation |
Draw a tree using box drawing characters. Unicode characters are
used if available. (Set the cli.unicode
option if auto-detection
fails.)
tree(data, root = data[[1]][[1]], style = NULL, width = console_width())
data |
Data frame that contains the tree structure. The first column is an id, and the second column is a list column, that contains the ids of the child nodes. The optional third column may contain the text to print to annotate the node. |
root |
The name of the root node. |
style |
Optional box style list. |
width |
Maximum width of the output. Defaults to the |
A node might appear multiple times in the tree, or might not appear at all.
Character vector, the lines of the tree drawing.
data <- data.frame( stringsAsFactors = FALSE, package = c("processx", "backports", "assertthat", "Matrix", "magrittr", "rprojroot", "clisymbols", "prettyunits", "withr", "desc", "igraph", "R6", "crayon", "debugme", "digest", "irlba", "rcmdcheck", "callr", "pkgconfig", "lattice"), dependencies = I(list( c("assertthat", "crayon", "debugme", "R6"), character(0), character(0), "lattice", character(0), "backports", character(0), c("magrittr", "assertthat"), character(0), c("assertthat", "R6", "crayon", "rprojroot"), c("irlba", "magrittr", "Matrix", "pkgconfig"), character(0), character(0), "crayon", character(0), "Matrix", c("callr", "clisymbols", "crayon", "desc", "digest", "prettyunits", "R6", "rprojroot", "withr"), c("processx", "R6"), character(0), character(0) )) ) tree(data) tree(data, root = "rcmdcheck") ## Colored nodes data$label <- paste(data$package, crayon::blurred(paste0("(", c("2.0.0.1", "1.1.1", "0.2.0", "1.2-11", "1.5", "1.2", "1.2.0", "1.0.2", "2.0.0", "1.1.1.9000", "1.1.2", "2.2.2", "1.3.4", "1.0.2", "0.6.12", "2.2.1", "1.2.1.9002", "1.0.0.9000", "2.0.1", "0.20-35"), ")")) ) roots <- ! data$package %in% unlist(data$dependencies) data$label[roots] <- crayon::cyan(crayon::italic(data$label[roots])) tree(data) tree(data, root = "rcmdcheck")