# Load data
data(MisLinks)
data(MisNodes)
# Create graph
forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source",
Target = "target", Value = "value", NodeID = "name",
Group = "group", opacity = 0.4, zoom = TRUE)
# Create graph with legend and varying node radius
forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source",
Target = "target", Value = "value", NodeID = "name",
Nodesize = "size",
radiusCalculation = "Math.sqrt(d.nodesize)+6",
Group = "group", opacity = 0.4, legend = TRUE)
## Not run:
# #### JSON Data Example
# # Load data JSON formated data into two R data frames
# # Create URL. paste0 used purely to keep within line width.
# URL <- paste0("https://cdn.rawgit.com/christophergandrud/networkD3/",
# "master/JSONdata/miserables.json")
#
# MisJson <- jsonlite::fromJSON(URL)
#
# # Create graph
# forceNetwork(Links = MisJson$links, Nodes = MisJson$nodes, Source = "source",
# Target = "target", Value = "value", NodeID = "name",
# Group = "group", opacity = 0.4)
#
# # Create graph with zooming
# forceNetwork(Links = MisJson$links, Nodes = MisJson$nodes, Source = "source",
# Target = "target", Value = "value", NodeID = "name",
# Group = "group", opacity = 0.4, zoom = TRUE)
#
#
# # Create a bounded graph
# forceNetwork(Links = MisJson$links, Nodes = MisJson$nodes, Source = "source",
# Target = "target", Value = "value", NodeID = "name",
# Group = "group", opacity = 0.4, bounded = TRUE)
#
# # Create graph with node text faintly visible when no hovering
# forceNetwork(Links = MisJson$links, Nodes = MisJson$nodes, Source = "source",
# Target = "target", Value = "value", NodeID = "name",
# Group = "group", opacity = 0.4, bounded = TRUE,
# opacityNoHover = TRUE)
#
# ## Specify colours for specific edges
# # Find links to Valjean (11)
# which(MisNodes == "Valjean", arr = TRUE)[1] - 1
# ValjeanInds = which(MisLinks == 11, arr = TRUE)[, 1]
#
# # Create a colour vector
# ValjeanCols = ifelse(1:nrow(MisLinks) %in% ValjeanInds, "#bf3eff", "#666")
#
# forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source",
# Target = "target", Value = "value", NodeID = "name",
# Group = "group", opacity = 0.8, linkColour = ValjeanCols)
#
#
# ## Create graph with alert pop-up when a node is clicked. You're
# # unlikely to want to do exactly this, but you might use
# # Shiny.onInputChange() to allocate d.XXX to an element of input
# # for use in a Shiny app.
#
# MyClickScript <- 'alert("You clicked " + d.name + " which is in row " +
# (d.index + 1) + " of your original R data frame");'
#
# forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source",
# Target = "target", Value = "value", NodeID = "name",
# Group = "group", opacity = 1, zoom = FALSE,
# bounded = TRUE, clickAction = MyClickScript)
# ## End(Not run)
Run the code above in your browser using DataLab