В igraph
, где g
- объект графа, вы получаете доступ к весам ребер с помощью E(g)$weight
и изменяете вес ребер с помощью присваивания: E(g)$weight <- new_values
.
Для нормализации между 0-1 попробуйте: E(g)$weight <- E(g)$weight / max(E(g)$weight)
.
Вот воспроизводимый пример, который вы можете скопировать и вставить.
library(igraph)
set.seed(1) # reproducibility
# generate random graph
g <- sample_k_regular(10, k = 3, directed = FALSE, multiple = FALSE)
# add edge weights
E(g)$weight <- sample(c(1,10,50), length(E(g)), replace = TRUE)
# view the problem
plot(g, edge.width = E(g)$weight)
# normalize the edge weights between 0-1
E(g)$weight <- E(g)$weight / max(E(g)$weight)
# play with different values of `k` until you get a reasonable looking graph
k = 9
plot(g, edge.width = E(g)$weight * k)