R igraph Bipartite Graph,为什么我的权重没有显示?
R igraph Bipartite Graph, why are my weights not showing?
我正在使用 R 和包 igraph 创建基于关联矩阵的二分图,但我的权重没有显示?我在下面添加了一个我正在尝试做的例子。我已经设置了 weighted=TRUE,并希望边缘具有不同的权重,但线条的粗细都相同。关于我做错了什么有什么建议吗?
# Load packages
library(igraph)
# Create data
pNames <- paste("P", 1:4, sep="")
cNames <- paste("c", 1:3, sep="")
rData <- matrix(sample(4,12,replace=TRUE)-1,nrow=4,dimnames=list(pNames,cNames))
print(rData)
# Graph from matrix
b <- graph_from_incidence_matrix(rData,weighted=TRUE)
# Plot with layout
plot(b, layout=layout.bipartite,vertex.color=c("green","cyan")[V(b)$type+1],edge.width = b$weights)
您可以使用
找到边的属性
get.edge.attribute(b)
#$weight
#[1] 2 1 1 3 2 1 2
正如@paqmo 提到的,现在您知道了属性的名称,您可以使用它来设置边缘宽度/标签:
plot(b, layout=layout.bipartite,vertex.color=c("green","cyan")[V(b)$type+1],
edge.width = E(b)$weight, edge.label=E(b)$weight, edge.label.cex=2)
我正在使用 R 和包 igraph 创建基于关联矩阵的二分图,但我的权重没有显示?我在下面添加了一个我正在尝试做的例子。我已经设置了 weighted=TRUE,并希望边缘具有不同的权重,但线条的粗细都相同。关于我做错了什么有什么建议吗?
# Load packages
library(igraph)
# Create data
pNames <- paste("P", 1:4, sep="")
cNames <- paste("c", 1:3, sep="")
rData <- matrix(sample(4,12,replace=TRUE)-1,nrow=4,dimnames=list(pNames,cNames))
print(rData)
# Graph from matrix
b <- graph_from_incidence_matrix(rData,weighted=TRUE)
# Plot with layout
plot(b, layout=layout.bipartite,vertex.color=c("green","cyan")[V(b)$type+1],edge.width = b$weights)
您可以使用
找到边的属性get.edge.attribute(b)
#$weight
#[1] 2 1 1 3 2 1 2
正如@paqmo 提到的,现在您知道了属性的名称,您可以使用它来设置边缘宽度/标签:
plot(b, layout=layout.bipartite,vertex.color=c("green","cyan")[V(b)$type+1],
edge.width = E(b)$weight, edge.label=E(b)$weight, edge.label.cex=2)