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,
collapse = FALSE,
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.
|
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 :
|
References
See online documentation https://datastorm-open.github.io/visNetwork/
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
## 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)