使用矩阵调整igraph中的节点大小

使用矩阵调整igraph中的节点大小,r,nodes,igraph,R,Nodes,Igraph,我有以下网络图: set.seed(1410) df<-data.frame( "site.x"=c(rep("a",4),rep("b",4),rep("c",4),rep("d",4)), "site.y"=c(rep(c("e","f","g","h"),4)), "bond.strength"=sample(1:100,16, replace=TRUE)) library(igraph) df<-graph.data.frame(df) V(df)$names <-

我有以下网络图:

set.seed(1410)
df<-data.frame(
"site.x"=c(rep("a",4),rep("b",4),rep("c",4),rep("d",4)),
"site.y"=c(rep(c("e","f","g","h"),4)),
"bond.strength"=sample(1:100,16, replace=TRUE))

library(igraph)
df<-graph.data.frame(df)
V(df)$names <- c("a","b","c","d","e","f","g","h")
layOUT<-data.frame(x=c(rep(1,4),rep(2,4)),y=c(4:1,4:1))
E(df)[ bond.strength < 101 ]$color <- "red"
E(df)[ bond.strength < 67 ]$color <- "yellow"
E(df)[ bond.strength < 34 ]$color <- "green"
V(df)$color <- "white"
l<-as.matrix(layOUT)
plot(df,layout=l,vertex.size=10,vertex.label=V(df)$names,
edge.arrow.size=0.01,vertex.label.color = "black")
set.seed(1410)
df您可以使用

node.size<-setNames(c(25, 15, 35, 5, 10, 5, 19, 44),c("a", "b","c", "d", "e", "f", "g", "h"))
plot(df,layout=l,vertex.label=V(df)$names,
edge.arrow.size=0.01,vertex.label.color = "black",vertex.size=node.size)
也会起作用

更新:

如果需要使用
m
矩阵

plot(df,layout=l,vertex.label=V(df)$names,
edge.arrow.size=0.01,vertex.label.color = "black",vertex.size=m[m!=0]) 

因此,在使用矩阵或data.frame创建命名向量时,是否需要使用setNames函数?您能举个例子,说明我在示例中如何使用矩阵m创建命名向量,以及如何将其插入到“vertex.size=”中吗。非常感谢。有人能看看我的问题吗?谢谢
plot(df,layout=l,vertex.label=V(df)$names,
edge.arrow.size=0.01,vertex.label.color = "black",vertex.size=as.matrix(node.size) )
plot(df,layout=l,vertex.label=V(df)$names,
edge.arrow.size=0.01,vertex.label.color = "black",vertex.size=m[m!=0])