Description Usage Arguments Source Examples
Interactive Reingold-Tilford tree diagram created using D3.js, where every node can be expanded and collapsed by clicking on it.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | collapsibleTree(df, ..., inputId = NULL, attribute = "leafCount",
aggFun = sum, fill = "lightsteelblue", linkLength = NULL,
fontSize = 10, tooltip = FALSE, tooltipHtml = NULL,
nodeSize = NULL, collapsed = TRUE, zoomable = TRUE, width = NULL,
height = NULL)
## S3 method for class 'data.frame'
collapsibleTree(df, hierarchy,
root = deparse(substitute(df)), inputId = NULL,
attribute = "leafCount", aggFun = sum, fill = "lightsteelblue",
fillByLevel = TRUE, linkLength = NULL, fontSize = 10,
tooltip = FALSE, nodeSize = NULL, collapsed = TRUE,
zoomable = TRUE, width = NULL, height = NULL, ...)
## S3 method for class 'Node'
collapsibleTree(df, hierarchy_attribute = "level",
root = df$name, inputId = NULL, attribute = "leafCount",
aggFun = sum, fill = "lightsteelblue", linkLength = NULL,
fontSize = 10, tooltip = FALSE, tooltipHtml = NULL,
nodeSize = NULL, collapsed = TRUE, zoomable = TRUE, width = NULL,
height = NULL, ...)
|
df |
a |
... |
other arguments to pass onto S3 methods that implement
this generic function - |
inputId |
the input slot that will be used to access the selected node (for Shiny). Will return a named list of the most recently clicked node, along with all of its parents. |
attribute |
numeric column not listed in hierarchy that will be used for tooltips, if applicable. Defaults to 'leafCount', which is the cumulative count of a node's children |
aggFun |
aggregation function applied to the attribute column to determine
values of parent nodes. Defaults to |
fill |
either a single color or a mapping of colors:
|
linkLength |
length of the horizontal links that connect nodes in pixels.
(optional, defaults to automatic sizing)
Applicable only for |
fontSize |
font size of the label text in pixels |
tooltip |
tooltip shows the node's label and attribute value. |
tooltipHtml |
column name (possibly containing html) to override default tooltip
contents, allowing for more advanced customization. Applicable only for |
nodeSize |
numeric column that will be used to determine relative node size. Default is to have a constant node size throughout. 'leafCount' can also be used here (cumulative count of a node's children), or 'count' (count of node's immediate children). |
collapsed |
the tree's children will start collapsed by default |
zoomable |
pan and zoom by dragging and scrolling |
width |
width in pixels (optional, defaults to automatic sizing) |
height |
height in pixels (optional, defaults to automatic sizing) |
hierarchy |
a character vector of column names that define the order
and hierarchy of the tree network. Applicable only for |
root |
label for the root node |
fillByLevel |
which order to assign fill values to nodes.
|
hierarchy_attribute |
name of the |
Christopher Gandrud: http://christophergandrud.github.io/networkD3/.
d3noob: https://bl.ocks.org/d3noob/43a860bc0024792f8803bba8ca0d5ecd.
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 | collapsibleTree(warpbreaks, c("wool", "tension", "breaks"))
# Data from US Forest Service DataMart
species <- read.csv(system.file("extdata/species.csv", package = "collapsibleTree"))
collapsibleTree(df = species, c("REGION", "CLASS", "NAME"), fill = "green")
# Visualizing the order in which the node colors are filled
library(RColorBrewer)
collapsibleTree(
warpbreaks, c("wool", "tension"),
fill = brewer.pal(9, "RdBu"),
fillByLevel = TRUE
)
collapsibleTree(
warpbreaks, c("wool", "tension"),
fill = brewer.pal(9, "RdBu"),
fillByLevel = FALSE
)
# Tooltip can be mapped to an attribute, or default to leafCount
collapsibleTree(
warpbreaks, c("wool", "tension", "breaks"),
tooltip = TRUE,
attribute = "breaks"
)
# Node size can be mapped to any numeric column, or to leafCount
collapsibleTree(
warpbreaks, c("wool", "tension", "breaks"),
nodeSize = "breaks"
)
# collapsibleTree.Node example
data(acme, package="data.tree")
acme$Do(function(node) node$cost <- data.tree::Aggregate(node, attribute = "cost", aggFun = sum))
collapsibleTree(acme, nodeSize = "cost", attribute = "cost", tooltip = TRUE)
# Emulating collapsibleTree.data.frame using collapsibleTree.Node
species <- read.csv(system.file("extdata/species.csv", package = "collapsibleTree"))
hierarchy <- c("REGION", "CLASS", "NAME")
species$pathString <- paste(
"species",
apply(species[,hierarchy], 1, paste, collapse = "//"),
sep = "//"
)
df <- data.tree::as.Node(species, pathDelimiter = "//")
collapsibleTree(df)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.