networkD3 v0.2.13


Monthly downloads



D3 JavaScript Network Graphs from R

Creates 'D3' 'JavaScript' network, tree, dendrogram, and Sankey graphs from 'R'.


D3 JavaScript Network Graphs from R

Version 0.2.13 CRAN Version Build Status CRAN Monthly Downloads CRAN Total Downloads

This README includes information on set up and a number of basic examples. For more information see the package's main page.


Here's an example of simpleNetwork:

# Create fake data
src <- c("A", "A", "A", "A", "B", "B", "C", "C", "D")
target <- c("B", "C", "D", "J", "E", "F", "G", "H", "I")
networkData <- data.frame(src, target)

# Plot

Here's forceNetwork:

# Load data

# Plot
forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source",
             Target = "target", Value = "value", NodeID = "name",
             Group = "group", opacity = 0.4,
             colourScale = "d3.scale.category20b()")

Here's sankeyNetwork using a downloaded JSON data file:

# Recreate Bostock Sankey diagram:
# Load energy projection data
URL <- paste0("",
Energy <- jsonlite::fromJSON(URL)

# Plot
sankeyNetwork(Links = Energy$links, Nodes = Energy$nodes, Source = "source",
             Target = "target", Value = "value", NodeID = "name",
             units = "TWh", fontSize = 12, nodeWidth = 30)

Interacting with igraph

You can use igraph to create network graph data that can be plotted with networkD3. The igraph_to_networkD3 function converts igraph graphs to lists that work well with networkD3. For example:

# Load igraph

# Use igraph to make the graph and find membership
karate <- make_graph("Zachary")
wc <- cluster_walktrap(karate)
members <- membership(wc)

# Convert to object suitable for networkD3
karate_d3 <- igraph_to_networkD3(karate, group = members)

# Create force directed network plot
forceNetwork(Links = karate_d3$links, Nodes = karate_d3$nodes, 
             Source = 'source', Target = 'target', NodeID = 'name', 
             Group = 'group')

Saving to an external file

Use saveNetwork to save a network to stand alone HTML file:


simpleNetwork(networkData) %>% saveNetwork(file = 'Net1.html')


networkD3 began as a port of d3Network package to the htmlwidgets framework. d3Network is no longer supported.

Functions in networkD3

Name Description
forceNetwork Create a D3 JavaScript force directed network graph.
chordNetwork Create Reingold-Tilford Tree network diagrams.
MisNodes Les Miserables character nodes
as.radialNetwork Convert an R hclust or dendrogram object into a radialNetwork list.
SchoolsJournals Edge list of REF (2014) journal submissions for Politics and International Relations
sankeyNetwork Create a D3 JavaScript Sankey diagram
saveNetwork Save a network graph to an HTML file
simpleNetwork Function for creating simple D3 JavaScript force directed network graphs.
radialNetwork Create Reingold-Tilford Tree network diagrams.
chordNetworkOutput Shiny bindings for networkD3 widgets
igraph_to_networkD3 Function to convert igraph graph to a list suitable for networkD3
diagonalNetwork Create Reingold-Tilford Tree network diagrams.
JS Create character strings that will be evaluated as JavaScript
dendroNetwork Create hierarchical cluster network diagrams.
MisLinks Les Miserables character links
networkD3-package Tools for Creating D3 Network Graphs from R
No Results!

Last month downloads


Type Package
Date 2016-08-11
License GPL (>= 3)
LazyData true
RoxygenNote 5.0.1
NeedsCompilation no
Packaged 2016-08-11 12:24:23 UTC; christophergandrud
Repository CRAN
Date/Publication 2016-08-11 18:40:40

Include our badge in your README