visOptions {visNetwork} | R Documentation

## Network visualization general options

### Description

Network visualization general options. For full documentation, have a look at visDocumentation.

### Usage

    visOptions(graph, width = NULL, height = NULL, highlightNearest = FALSE,
      nodesIdSelection = FALSE, selectedBy = NULL, autoResize = NULL,
      clickToUse = NULL, manipulation = NULL)

### Arguments

`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.

- "enabled" : Boolean. Default to false. Activated or not ?.

- "degree" : Integer. Degree of depth of nodes to be colored. Default to 1. Set high number to have the entire sub-network. In case of "hierarchical" algorithm, you can also pass a list(from = 1, to = 1) to control degree in both direction

- "hover" : Boolean. Enable highlightNearest alos hovering a node ? Default to FALSE

- "algorithm" : String. highlightNearest algorithm. "all" highlight all nodes, without taking direction information. "hierarchical" look only at inputs/outputs nodes.

`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.

- "enabled" : Boolean. Default to false. Activated or not ?.

- "values : Optional. Vector of possible values. Defaut to all id in nodes data.frame.

- "selected" : Optional. Integer/Character. Initial id selection. Defaut to NULL

- "style" : Character. HTML style of list. Default to 'width: 150px; height: 26px'. Optional.

`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.

- "variable" : Character. Column name of selection variable.

- "values : Optional. Vector of possible values. Defaut to all values in nodes data.frame.

- "selected" : Optional. Integer/Character. Initial selection. Defaut to NULL

- "style" : Optional. Character. HTML style of list. Default to 'width: 150px; height: 26px'. Optional.

- "multiple" : Optional. Boolean. Default to FALSE. If TRUE, you can affect multiple groups per nodes using a comma ("gr1,gr2")

`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

### See Also

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 ...

### Examples

    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))

    # 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 ?
    visNetwork(nodes, edges) %>%
     visOptions(highlightNearest = TRUE,
     nodesIdSelection = list(enabled = TRUE,
       selected = "2",
       values = c(2:10)))

    # 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;'))

    ##########################
    # selectedBy
    ##########################

    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")))

    # 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))

[Package visNetwork version 1.0.1 Index]