我在R上使用igraph包。我要做的是绘制一个有向边的图形,其宽度显示权重。由于某些特定原因,某些顶点比其他顶点更重要,因此它们的颜色会有所不同
这是脚本:
使原始数据框架成为数字矩阵
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)
我得到的图形图像 Firstly I whish that edges represent their weights, secondly that nodes had the color I chose