Программное обеспечение R - создать ориентированный и взвешенный граф из матрицы смежности - PullRequest
0 голосов
/ 13 октября 2019

Представляем

Я использую пакет igraph на R. Я пытаюсь построить график с направленными ребрами, ширина которых показывает вес. Некоторые вершины по определенным причинам более важны, чем другие, поэтому они окрашены в разные цвета

Вот сценарий:

сделать рамку исходных данных числовой матрицей

adj_matrix <- as.matrix(matrice_adiacenze95_totale) 

создание графического объекта

grafo95 <- graph_from_adjacency_matrix(adj_matrix, mode = "directed", weighted = TRUE, diag = TRUE, add.colnames = NULL)

добавление атрибута для распознавания определенных узлов

V(grafo95)[11]$importance <- 1
V(grafo95)[12]$importance <- 1
V(grafo95)[13]$importance <- 1
V(grafo95)[14]$importance <- 1
V(grafo95)[15]$importance <- 1
V(grafo95)[16]$importance <- 1
V(grafo95)[18]$importance <- 1
V(grafo95)[22]$importance <- 1
V(grafo95)[25]$importance <- 1
V(grafo95)[26]$importance <- 1
V(grafo95)[30]$importance <- 1
V(grafo95)[31]$importance <- 1
V(grafo95)[34]$importance <- 1
V(grafo95)[37]$importance <- 1
V(grafo95)[38]$importance <- 1

улучшение визуализациимакет

auto <- layout.davidson.harel(grafo95)

построить график

plot(grafo95, layout = auto, vertex.size = 10, vertex.color=c( "pink", "skyblue")[0+(V(grafo95)$importance==1)], edge.arrow.size = .1)

Что я получаю графически Во-первых, я хочу, чтобы ребра представлялиих веса, во-вторых, чтобы узлы имели цвет, который я выбрал

...