【问题标题】:specify color scheme for n number of nodes in networkD3 in R在 R 中为 networkD3 中的 n 个节点指定配色方案
【发布时间】:2019-01-02 18:15:52
【问题描述】:

我知道在networkD3中,您可以通过将它们分组来指定不同节点的颜色。 例如。 nodes = data.frame(id = c(0,1,2), name = c("Node 1", "Node 2", "Node 3"), group = c("1","2","3"))

JS('d3.scaleOrdinal().domain(["1", "2", "3"]).range(["#000000", "#111111", "#222222"])')

我想指定选定数量的节点(例如仅节点 1),但其余节点(例如节点 2 和 3)可以是任意颜色。

通过执行这样的操作,所有节点的颜色都会相同: JS('d3.scaleOrdinal().domain(["1"]).range(["#000000"])')

是否可以为选定节点指定节点颜色,然后其他节点可以是任意颜色?我正在尝试实现这一点,以便如果我的数据集很大,我不需要知道有多少组来定义颜色可以是任意的组的颜色。

【问题讨论】:

    标签: javascript r d3.js htmlwidgets networkd3


    【解决方案1】:

    这是一个示例,说明如何将组“1”的所有节点设置为黑色,同时为所有其他节点分配来自d3.schemeCategory20...的随机颜色...

    library(networkD3)
    
    colorfunc <- JS('colorfunc = function(i) { return i == 1 ? "#000" : d3.schemeCategory20[Math.floor(Math.random()*20)] };')
    
    forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source", 
                 Target = "target", Value = "value", NodeID = "name",
                 Group = "group", colourScale = colorfunc, opacity = 1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      • 1970-01-01
      • 2022-10-17
      • 2019-07-11
      相关资源
      最近更新 更多