R: Use a igraph layout for compute coordinates & fast rendering

visIgraphLayout {visNetwork} | R Documentation

## Use a igraph layout for compute coordinates & fast rendering

### Description

Use a igraph layout for compute coordinates and fast rendering. This function affect x and y coordinates to nodes data.frame using a igraph layout, and then render network faster with no stabilization. We set some options as : visNodes(physics = FALSE) & visEdges(smooth = FALSE) & visPhysics(stabilization= FALSE), but you can overwrite them using arguments or by add another call after visIgraphLayout

### Usage

    visIgraphLayout(graph, layout = "layout_nicely", physics = FALSE,
      smooth = FALSE, type = "square", randomSeed = NULL,
      layoutMatrix = NULL, ...)

### Arguments

`graph` | : a visNetwork object
`layout` | : Character Name of igraph layout function to use. Default to "layout_nicely"
`physics` | : Boolean. Default to FALSE. Enabled physics on nodes ?
`smooth` | : Boolean. Default to FALSE. Use smooth edges ?
`type` | : Character Type of scale from igrah to vis.js. "square" (defaut) render in a square limit by height. "full" use width and height to scale in a rectangle.
`randomSeed` | : Number. The nodes are randomly positioned initially. This means that the settled result is different every time. If you provide a random seed manually, the layout will be the same every time.
`layoutMatrix` | : in case of layout = 'layout.norm'. the 'layout' argument (A matrix with two or three columns, the layout to normalize)
`...` | : Adding arguments to layout function

### References

See online documentation http://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:
    nnodes <- 200
    nnedges <- 400

    nodes <- data.frame(id = 1:nnodes)
    edges <- data.frame(from = sample(1:nnodes, nnedges, replace = T),
                       to = sample(1:nnodes, nnedges, replace = T))

    # with defaut layout
    visNetwork(nodes, edges) %>%
     visIgraphLayout()

    # use full space
    visNetwork(nodes, edges) %>%
     visIgraphLayout(type = "full")

    # in circle ?
    visNetwork(nodes, edges) %>%
     visIgraphLayout(layout = "layout_in_circle") %>%
     visOptions(highlightNearest = list(enabled = T, hover = T),
       nodesIdSelection = T)

    # keep physics with smooth curves ?
    visNetwork(nodes, edges) %>%
     visIgraphLayout(physics = TRUE, smooth = TRUE)

    # fix radomSeed to keep position
    visNetwork(nodes, edges) %>%
     visIgraphLayout(randomSeed = 123)

    visNetwork(nodes, edges) %>%
     visIgraphLayout(randomSeed = 123)

    ## End(Not run)

    # layout_with_sugiyama
    nodes <- data.frame(id = 1:5)
    edges <- data.frame(from = c(1, 2, 2, 4), to = c(2, 3, 4, 5))

    visNetwork(nodes, edges) %>%
     visIgraphLayout(layout = "layout_with_sugiyama", layers = c(1, 2, 3, 3, 4))

    visNetwork(nodes, edges) %>%
     visIgraphLayout(layout = "layout_with_sugiyama")

[Package visNetwork version 1.0.3 Index]