visOptions | R Documentation |
Network visualization general options. For full documentation, have a look at visDocumentation.
visOptions( graph, width = NULL, height = NULL, highlightNearest = FALSE, nodesIdSelection = FALSE, selectedBy = NULL, collapse = FALSE, autoResize = NULL, clickToUse = NULL, manipulation = NULL )
graph |
: a visNetwork object |
width |
: String. Default to "100%". The width of the network in pixels or as a percentage. |
height |
: String. Default to "100%". The height of the network in pixels or as a percentage. |
highlightNearest |
: Custom Option. Just a Boolean, or a named list. Default to false. Highlight nearest when clicking a node ? Not available for DOT and Gephi.
|
nodesIdSelection |
: Custom Option. Just a Boolean, or a named list. Default to false. Add an id node selection creating an HTML select element. This options use click event. Not available for DOT and Gephi.
|
selectedBy |
: Custom option. Character or a named list. Add a multiple selection based on column of node data.frame creating an HTML select element. Not available for DOT and Gephi.
|
collapse |
: Custom option. Just a Boolean, or a named list. Collapse / Uncollapse nodes using double-click. In dev.
|
autoResize |
: Boolean. Default to true. If true, the Network will automatically detect when its container is resized, and redraw itself accordingly. If false, the Network can be forced to repaint after its container has been resized using the function redraw() and setSize(). |
clickToUse |
: Boolean. Default to false. When a Network is configured to be clickToUse, it will react to mouse, touch, and keyboard events only when active. When active, a blue shadow border is displayed around the Network. The Network is set active by clicking on it, and is changed to inactive again by clicking outside the Network or by pressing the ESC key. |
manipulation |
: Just a Boolean or a list. See visDocumentation. You can also choose the columns to edit :
|
See online documentation https://datastorm-open.github.io/visNetwork/
visNodes for nodes options, visEdges for edges options, visGroups for groups options, visLegend for adding legend, visOptions for custom option, visLayout & visHierarchicalLayout for layout, visPhysics for control physics, visInteraction for interaction, visNetworkProxy & visFocus & visFit for animation within shiny, visDocumentation, visEvents, visConfigure ...
## Not run: nodes <- data.frame(id = 1:15, label = paste("Label", 1:15), group = sample(LETTERS[1:3], 15, replace = TRUE)) edges <- data.frame(from = trunc(runif(15)*(15-1))+1, to = trunc(runif(15)*(15-1))+1) ################### # highlight nearest ################### visNetwork(nodes, edges) %>% visOptions(highlightNearest = TRUE) visNetwork(nodes, edges) %>% visOptions(highlightNearest = list(enabled = TRUE, degree = 2)) # also when hover a node ? visNetwork(nodes, edges) %>% visOptions(highlightNearest = list(enabled = TRUE, hover = TRUE)) # don't show nodes/edges visNetwork(nodes, edges) %>% visOptions(highlightNearest = list(enabled = TRUE, hover = TRUE, hideColor = 'rgba(200,200,200,0)')) # Using hierarchical information nodes = data.frame(id = 1:6, level = c(1, 2, 3, 3, 4, 2)) edges = data.frame(from = c(1, 2, 2, 4, 6), to = c(2, 3, 4, 5, 4)) visNetwork(nodes, edges) %>% visHierarchicalLayout() %>% visEdges(arrows = "to") %>% visOptions(highlightNearest = list(enabled = TRUE, algorithm = "hierarchical")) visNetwork(nodes, edges) %>% visHierarchicalLayout() %>% visEdges(arrows = "to") %>% visOptions(highlightNearest = list(enabled = TRUE, algorithm = "hierarchical", degree = list(from = 0, to = 2))) ########################## # nodesIdSelection ########################## visNetwork(nodes, edges) %>% visOptions(highlightNearest = TRUE, nodesIdSelection = TRUE) # add a default selected node ? visNetwork(nodes, edges) %>% visOptions(highlightNearest = TRUE, nodesIdSelection = list(enabled = TRUE, selected = "1")) # subset on id values & don't use labels ? visNetwork(nodes, edges) %>% visOptions(highlightNearest = TRUE, nodesIdSelection = list(enabled = TRUE, selected = "2", values = c(2:10), useLabels = FALSE)) # some style visNetwork(nodes, edges) %>% visOptions(highlightNearest = TRUE, nodesIdSelection = list(enabled = TRUE, style = 'width: 200px; height: 26px; background: #f8f8f8; color: darkblue; border:none; outline:none;')) ########################## # collapse ########################## nodes <- data.frame(id = 1:15, label = paste("Label", 1:15), group = sample(LETTERS[1:3], 15, replace = TRUE)) edges <- data.frame(from = trunc(runif(15)*(15-1))+1, to = trunc(runif(15)*(15-1))+1) # keeping all parent node attributes visNetwork(nodes, edges) %>% visEdges(arrows = "to") %>% visOptions(collapse = TRUE) # setting some properties visNetwork(nodes, edges) %>% visEdges(arrows = "to") %>% visOptions(collapse = list(enabled = TRUE, clusterOptions = list(shape = "square"))) # enable / disable open cluster (proxy only) : # visEvents(type = "off", doubleClick = "networkOpenCluster") # visEvents(type = "on", doubleClick = "networkOpenCluster") ########################## # selectedBy ########################## nodes <- data.frame(id = 1:15, label = paste("Label", 1:15), group = sample(LETTERS[1:3], 15, replace = TRUE)) edges <- data.frame(from = trunc(runif(15)*(15-1))+1, to = trunc(runif(15)*(15-1))+1) visNetwork(nodes, edges) %>% visOptions(selectedBy = "group") # add a default value ? visNetwork(nodes, edges) %>% visOptions(selectedBy = list(variable = "group", selected = "A")) # subset on values ? visNetwork(nodes, edges) %>% visOptions(selectedBy = list(variable = "group", selected = "C", values = c("A", "C"))) # highlight also visNetwork(nodes, edges) %>% visOptions(selectedBy = list(variable = "group", highlight = TRUE), highlightNearest = TRUE) # add some style visNetwork(nodes, edges) %>% visOptions(selectedBy = list(variable = "group", style = 'width: 200px; height: 26px; background: #f8f8f8; color: darkblue; border:none; outline:none;')) # can also be on new column nodes$sample <- sample(c("sample 1", "sample 2"), nrow(nodes), replace = TRUE) visNetwork(nodes, edges) %>% visOptions(selectedBy = "sample") # and with multiple groups ? nodes$group <- sample(c("group 1", "group 2", "group 1, group 2, group 3"), nrow(nodes), replace = TRUE) visNetwork(nodes, edges) %>% visOptions(selectedBy = list(variable = "group", multiple = TRUE)) ########################## # manipulation ########################## visNetwork(nodes, edges) %>% visOptions(manipulation = TRUE) visNetwork(nodes, edges) %>% visOptions(manipulation = list(enabled = TRUE, addNode = FALSE, addEdge = FALSE)) visNetwork(nodes, edges) %>% visOptions(manipulation = list(enabled = TRUE, deleteNode = FALSE, deleteEdge = FALSE)) visNetwork(nodes, edges) %>% visOptions(manipulation = list(enabled = TRUE, editNode = FALSE, editEdge = FALSE)) # choose columns to edit visNetwork(nodes, edges) %>% visOptions(manipulation = list(enabled = TRUE, editEdgeCols = c("label"), editNodeCols = c("id", "label", "title", "size"), addNodeCols = c("label", "group"))) # choose columns to edit + input html type (text, number, ...) # https://www.w3schools.com/tags/att_input_type.asp visNetwork(nodes, edges) %>% visOptions(manipulation = list(enabled = TRUE, editEdgeCols = c("label"), editNodeCols = list( "text" = c("id", "label", "title"), "number" = c("size") ), addNodeCols = c("label", "group"))) visNetwork(nodes, edges) %>% visOptions(manipulation = list(enabled = TRUE, editEdge = htmlwidgets::JS("function(data, callback) { callback(data); console.info('edit edge') }") ) ) ########################## # collapse ########################## visNetwork(nodes, edges) %>% visEdges(arrows = "to") %>% visOptions(collapse = list(enabled = TRUE, clusterOptions = list(shape = "square"))) ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.