Если вы посмотрите на страницу справки help(igraph.plotting)
, вы увидите, что там написано:
arrow.size
Размер стрелки. В настоящее время это константа, поэтому
одинаково для каждого края.
Так что я не думаю, что это возможно сделать размером с наконечник стрелки. Однако, безусловно, можно изменять ширину линии стрелок, используя параметр edge.width
.
Поскольку вы не предоставляете никаких данных, я привожу небольшой пример, который, по вашему мнению, должен соответствовать вашей проблеме.
Пример данных
CoStar = matrix(c(0,1,3,1, 3,0,3,1, 2,1,0,0, 0,1,1,0), nrow=4)
CoStar
[,1] [,2] [,3] [,4]
[1,] 0 3 2 0
[2,] 1 0 1 1
[3,] 3 3 0 1
[4,] 1 1 0 0
Теперь мы можем превратить это в графический объект и отобразить его, используя веса в качестве ширины ребра. Вам нужно использовать параметр edge.curved
, чтобы край A-> B не находился сверху края B-> A.
library(igraph)
G = graph_from_adjacency_matrix(CoStar, weighted=TRUE)
V(G)$label = c("Steve", "Sean", "Andy", "Tim")
plot(G, edge.width=E(G)$weight+1, edge.arrow.size=1.5, edge.curved=0.25)
Вы можете видеть, что размеры ребер пропорциональны весам (количество появлений суставов).