Events

Add javascript event with visEvents()

nodes <- data.frame(id = 1:3, label = 1:3)
edges <- data.frame(from = c(1,2), to = c(1,3))

visNetwork(nodes, edges) %>%
 visEvents(selectNode = "function(properties) {
      alert('selected nodes ' + this.body.data.nodes.get(properties.nodes[0]).id);}")

Export

Use visSave() for save network in .html file, and visExport() to save as .png with shiny :

network <- visNetwork(nodes, edges, width = "100%")
network %>% visSave(file = "network.html")
# same as
visSave(network, file = "network.html")
# or
htmlwidgets::saveWidget(network, "network.html")

Use DOT language data

visNetwork(dot = 'dinetwork {1 -> 1 -> 2; 2 -> 3; 2 -- 4; 2 -> 1 }', 
           width = "100%")

Use gephi json export file

# don't run here
visNetwork(gephi = 'WorldCup2014.json')

Clustering

Some first (experimental) functions are available :

  • visClusteringByColor()
  • visClusteringByConnection()
  • visClusteringByHubsize()
  • visClusteringByGroup()
  • visClusteringOutliers()

You can open clusters by double-clicking, and re-cluster with button.

nodes <- data.frame(id = 1:10, label = paste("Label", 1:10), 
   group = sample(c("A", "B"), 10, replace = TRUE))

edges <- data.frame(from = c(2,5,10), to = c(1,2,10))

visNetwork(nodes, edges, height = "400px", width = "100%") %>%
  visGroups(groupname = "A", color = "red", shape = "square") %>%
  visGroups(groupname = "B", color = "yellow", shape = "triangle") %>%
  visClusteringByColor(colors = c("red")) %>%
  visClusteringByGroup(groups = c("B")) %>%
  visLegend()

© 2020-2021 DataStorm

Fork me on GitHub