我整理的文库里有用igraph画网络图的代码 你把节点大小做成一个矩阵 改一下vertex size代码 应该可以实现你的想法 自己琢磨一下igraph里的函数吧
在那个示例中,在udG<-graph_from_adjacency_matrix语句之后,增加以下代码
newM<-matrix(as.integer(adjMtrx),nrow=dim(adjMtrx)[1]) #这两句只针对示例的数据
newM[is.na(newM)]<-0
vsize<-apply(newM,MARGIN=2,FUN=sum) #重点是这两句,之前的两句是因为读入数据有NA,且矩阵是char类型,计算加总前需要改成数值型
V(udG)$size <- vsize #这个是赋值给节点
这样,就可以按照各列的和确定节点大小了
然后,画图的plot语句中,把 vertex.size = 4, 这个参数删除掉,把vertex.label.cex = 1.8参数的数值改成合适的,比如0.5,
就可以实现你的想法了