Skip to content

How to make duplicate edges not overlap when physics is off #474

@salk-law

Description

@salk-law

Here is a summary of my problem:

  1. My network has duplicate edges
  2. Duplicate edges are not easily visibly separable because they overlap perfectly
  3. I want no animation upon movement of nodes

I found #95 to contain a working solution when physics is enabled by using barnesHut settings:.

Example of my situation:

# Reproducible example of problem
library(visNetwork)
library(data.table)
library(magrittr)
# For reproducibility
set.seed(1)

# Declare nodes
nodes = data.table(
  id = letters[1:10], 
  label = letters[1:10]
)

# Declare edges
edges = data.table(
  from = sample(letters[1:10], 10, replace = T), 
  to = sample(letters[1:10], 10, replace = T),
  color = "blue",
  dashes = T
)

# Add duplicate edges
edges.dupl = edges[rep(1:3, 1)][, `:=`(color = "red", dashes = F)]
edges = rbind(edges.dupl, edges)

# Render graph
visNetwork(nodes = nodes, edges = edges) %>%
  visNodes(physics = F) %>%
  visEdges(physics = F)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions