1

这是一个更普遍的问题:来自 IGraph 的 VisNetwork - Can't Implement Cluster Colors to Vertices

我有一个已转换为 visNetwork 的 igraph:

library(visNetwork)
visIgraph(igraph, idToLabel = TRUE, layout = "layout_nicely")%>%
visNodes(size = 10) %>%
visOptions(highlightNearest = TRUE, 
     nodesIdSelection = TRUE)

我有一个颜色列表,这些颜色对应于我要为图形着色的节点:

颜色如下:

c("#80FF00FF" "#FF0000FF" "#FF0000FF" "#00FFFFFF" "#FF0000FF" "#8000FFFF" "#FF0000FF" "#FF0000FF" "#FF0000FF" "#FF0000FF")

如何将这些颜色添加到 visNetwork 的节点?

如果我要这样做,它在正常情节中有效,但在 visNetwork 中无效:

V(igraph)$color <- c("#80FF00FF" "#FF0000FF" "#FF0000FF" "#00FFFFFF" "#FF0000FF" "#8000FFFF" "#FF0000FF" "#FF0000FF" "#FF0000FF" "#FF0000FF")
plot(igraph)

谢谢

(如果您想获得可重现的代码,请参阅我在帖子顶部提到的链接。)

4

1 回答 1

2

您可以将其添加为 igraph 的“组”属性,默认情况下通知节点着色。借鉴您另一篇文章中的代码:

col = c("#80FF00FF", "#FF0000FF", "#FF0000FF", "#00FFFFFF",
          "#FF0000FF", "#8000FFFF", "#FF0000FF", "#FF0000FF",
          "#FF0000FF", "#FF0000FF")
i96e <- set.vertex.attribute(i96e, name = "group",value = col)
visIgraph(i96e, idToLabel = TRUE, layout = "layout_nicely")
于 2016-10-06T05:11:19.627 回答