我在R中使用igraph进行网络分析。我想在图中的每一行显示一个edge属性。一个例子如下
df <- data.frame(a = c(0,1,2,3,4),b = c(3,4,5,6,7))
nod <- data.frame(node = c(0:7),wt = c(1:8))
pg <- graph_from_data_frame(d = df, vertices = nod,directed = F)
plot(pg)
我希望“wt”特征的值显示在线上的每个节点之间,或者最好是在线条断开的小间隙中显示。
是否有可能实现这一目标?
答案 0 :(得分:5)
使用参数edge.label
指定边缘的标签,我使用过 - 可能是错误的 - 点头$ wt。当然,您可以指定其他标签。
您可以使用以下代码:
# load the package
library(igraph)
# your code
df <- data.frame(a = c(0,1,2,3,4),b = c(3,4,5,6,7))
nod <- data.frame(node = c(0:7),wt = c(1:8))
pg <- graph_from_data_frame(d = df, vertices = nod,directed = F)
# plot function with edge.label added
plot(pg, edge.label = nod$wt)
请让我知道这是否是你想要的。