我有一个网络,我用之前的分析描述了每个节点,并按如下方式分配了颜色:
commit
变量' node_colors'是一个由先前分析制作的矢量,以便颜色与顶点放置/聚类重合。
然而,当我尝试在networkD3中实现个性化着色方案时,我得到一个未使用的参数'错误:
git rebase --abort
错误: 警告:forceNetwork中的错误:未使用的参数(colorScale = node_colors)
NetworkD3似乎只是创建它自己的着色方案......所以当我省略参数时:' colorScale = node_colors',我得到以下内容:
但是你可以看到颜色与igraph图的颜色没有同步。
有谁知道如何在networkD3
中创建个性化着色方案(包含一系列颜色的矢量)答案 0 :(得分:3)
您可以使用networkD3包附带的JS()
函数传递Javascript代码。在Javascript中,您可以使用十六进制代码来指定颜色。这是一个例子:
YourColors <- 'd3.scaleOrdinal().range([ "#FFA500", "#4169E1", "#32CD32",
"#FFC0CB", "#8A2BE2", "#FF6347"]);'
forceNetwork(Links = data$links, Nodes = data$nodes,
Source = 'source', Target = 'target',
NodeID = 'value', Nodesize = 'size', Group = "group",
#########################
colourScale = JS(YourColors),
#########################
zoom = T, legend = T, opacityNoHover = TRUE)
如果要将特定颜色与特定变量绑定,可以使用
YourColors <- 'd3.scaleOrdinal()
.domain(["variable1", "variable2", "variable3"])
.range(["#7FFF00", "#A52A2A", "#E6E6FA"])'