【发布时间】:2018-05-29 21:38:19
【问题描述】:
我正在尝试根据与特定节点对应的标志的值来更改图中节点的颜色。例如,请参阅下面的 edgelist HAVE:
ego friend realfriend resources
Joe Jim 1 2
Joe Jon 1 1
Joe James 1 5
Sam Jeff 1 2
Sam Stephanie 1 3
Sam Joe 1 1
Sam Jim 1 1
Bob Dylan 0 1
Bob Jim 1 4
Dylan 是一个虚构的朋友,所以我希望代表他(和其他虚构的朋友)的节点不同于realfriend = 1。我将HAVE 变成一个情节如下:
test <- graph.data.frame(HAVE, directed=F)
plot(test, vertex.size=degree(test))
但是当我尝试根据realfriend 的值使节点显示为不同的颜色时,图表不会产生任何颜色变化:
colrs <- c("red", "blue")
V(test)$color <- colrs[V(test)$realfriend]
知道为什么这不起作用吗?
【问题讨论】:
-
V(test)$realfriends未定义。首先,这是一个错字。有真正的朋友而不是真正的朋友。但更糟糕的是,这使得 realfriend 成为边的属性,而不是顶点。试试vertex_attr(test)和edge_attr(test) -
刚刚修正了拼写,谢谢。那些简单的功能非常有启发性——我一直对 igraph 对象的结构感到困惑,但事情并没有开始点击。谢谢!
-
我会编辑我的 Q 以确保它仍然是一个有效的问题
标签: r igraph graph-visualization