datastorm-open / visNetwork

R package, using vis.js library for network visualization
Other
542 stars 127 forks source link

Edge Labels in VisNetwork? #460

Open swaheera opened 1 year ago

swaheera commented 1 year ago

I am working with the R programming language.

I generated this random network graph and matrix:

library(tidyverse)
library(visNetwork)
library(htmlwidgets)

set.seed(123)
mat <- matrix(runif(19*20), nrow = 19, ncol = 20)
mat <- t(apply(mat, 1, function(x) x/sum(x)))
mat <- rbind(mat, c(rep(0, 19), 1))

nodes <- data.frame(id = 1:20)
edges <- data.frame(from = sample(1:20, 100, replace = TRUE), to = sample(1:20, 100, replace = TRUE))

nodes$shape <- 'circle'
edges$weight <- apply(edges, 1, function(x) mat[x["from"], x["to"]])

# create the network graph
network <- visNetwork(nodes, edges) %>%
    visEdges(arrows = list(to = list(enabled = TRUE))) %>%
    visIgraphLayout(layout = "layout_in_circle")

Now, I am trying to add the labels (i.e. the decimal numbers) from this matrix to each corresponding edge on this graph (i.e. edges$weight)

Can someone please show me how to do this?

Thanks!