【问题标题】:Adding Color to Vertex in VisNetwork Igraph在 VisNetwork Igraph 中为顶点添加颜色
【发布时间】:2016-10-05 21:59:37
【问题描述】:

这是一个更普遍的问题:VisNetwork from IGraph - 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)

谢谢

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

【问题讨论】:

    标签: javascript r cluster-analysis igraph htmlwidgets


    【解决方案1】:

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

    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")
    

    【讨论】:

    • 嗨@jac 感谢您的反馈。不幸的是,这仍然不起作用。当我测试它时,颜色不会通过。虽然整个图表保持黑色。
    • 没关系,我提供的示例确实有效。谢谢你。出于某种原因,它不适用于我的实际示例,但这是一个很好的开始。谢谢!