networkD3 (version 0.2.13)

radialNetwork: Create Reingold-Tilford Tree network diagrams.

Description

Create Reingold-Tilford Tree network diagrams.

Usage

radialNetwork(List, height = NULL, width = NULL, fontSize = 10, fontFamily = "serif", linkColour = "#ccc", nodeColour = "#fff", nodeStroke = "steelblue", textColour = "#111", opacity = 0.9, margin = NULL)

Arguments

List
a hierarchical list object with a root node and children.
height
height for the network graph's frame area in pixels (if NULL then height is automatically determined based on context)
width
numeric width for the network graph's frame area in pixels (if NULL then width is automatically determined based on context)
fontSize
numeric font size in pixels for the node text labels.
fontFamily
font family for the node text labels.
linkColour
character string specifying the colour you want the link lines to be. Multiple formats supported (e.g. hexadecimal).
nodeColour
character string specifying the colour you want the node circles to be. Multiple formats supported (e.g. hexadecimal).
nodeStroke
character string specifying the colour you want the node perimeter to be. Multiple formats supported (e.g. hexadecimal).
textColour
character string specifying the colour you want the text to be before they are clicked. Multiple formats supported (e.g. hexadecimal).
opacity
numeric value of the proportion opaque you would like the graph elements to be.
margin
an integer or a named list/vector of integers for the plot margins. If using a named list/vector, the positions top, right, bottom, left are valid. If a single integer is provided, then the value will be assigned to the right margin. Set the margin appropriately to accomodate long text labels.

Source

Reingold. E. M., and Tilford, J. S. (1981). Tidier Drawings of Trees. IEEE Transactions on Software Engineering, SE-7(2), 223-228. Mike Bostock: http://bl.ocks.org/mbostock/4063550.

Examples

Run this code
## Not run: 
# #### Create tree from JSON formatted data
# ## Download JSON data
# # Create URL. paste0 used purely to keep within line width.
# URL <- paste0("https://cdn.rawgit.com/christophergandrud/networkD3/",
#               "master/JSONdata//flare.json")
#               
# ## Convert to list format
# Flare <- jsonlite::fromJSON(URL, simplifyDataFrame = FALSE)
# 
# ## Recreate Bostock example from http://bl.ocks.org/mbostock/4063550
# radialNetwork(List = Flare, fontSize = 10, opacity = 0.9)
# 
# #### Create a tree dendrogram from an R hclust object
# hc <- hclust(dist(USArrests), "ave")
# radialNetwork(as.radialNetwork(hc))
# radialNetwork(as.radialNetwork(hc), fontFamily = "cursive")
# 
# #### Create tree from a hierarchical R list
# For an alternative structure see: http://stackoverflow.com/a/30747323/1705044
# CanadaPC <- list(name = "Canada", children = list(list(name = "Newfoundland",
#                     children = list(list(name = "St. John's"))),
#                list(name = "PEI",
#                     children = list(list(name = "Charlottetown"))),
#                list(name = "Nova Scotia",
#                     children = list(list(name = "Halifax"))),
#                list(name = "New Brunswick",
#                     children = list(list(name = "Fredericton"))),
#                list(name = "Quebec",
#                     children = list(list(name = "Montreal"),
#                                     list(name = "Quebec City"))),
#                list(name = "Ontario",
#                     children = list(list(name = "Toronto"),
#                                     list(name = "Ottawa"))),
#                list(name = "Manitoba",
#                     children = list(list(name = "Winnipeg"))),
#                list(name = "Saskatchewan",
#                     children = list(list(name = "Regina"))),
#                list(name = "Nunavuet",
#                     children = list(list(name = "Iqaluit"))),
#                list(name = "NWT",
#                     children = list(list(name = "Yellowknife"))),
#                list(name = "Alberta",
#                     children = list(list(name = "Edmonton"))),
#                list(name = "British Columbia",
#                     children = list(list(name = "Victoria"),
#                                     list(name = "Vancouver"))),
#                list(name = "Yukon",
#                     children = list(list(name = "Whitehorse")))
# ))
# 
# radialNetwork(List = CanadaPC, fontSize = 10)
# ## End(Not run)

Run the code above in your browser using DataLab