force directed graph - 如果节点同时是源和目标,则定义节点的颜色

时间:2012-08-05 17:24:26

标签: javascript colors styles scale d3.js

我创建了一个像this这样的强制导向图,它使用的结构类似于miserables.js的JSON文件。可视化显示了彼此引用的出版物之间的网络。

以下代码定义源节点和目标节点的颜色:

var color = d3.scale.category10();...

.style("fill", function(d) { return color(d.group); })

那么,如何定义节点的颜色,同时又是源和目标呢?

1 个答案:

答案 0 :(得分:2)

根据节点的组设置颜色,并从JSON data source加载节点组。所以,我认为您需要预处理数据以添加其他组。

例如,假设有三种节点类型:source = 1,target = 2,both = 3。 D3 JSON数据源指定节点和节点之间的链接。

例如:

{
    "nodes":[
        {"name":"source","type":"source","group":1},
        {"name":"target","type":"target","group":2},
        {"name":"source & target","type":"both","group":3}
    ],
    "links":[
        {"source":0,"target":1,"value":1},
        {"source":0,"target":2,"value":2},
        {"source":2,"target":1,"value":3}
    ]
}

一个正在运行的例子是here。如果将鼠标悬停在节点上,您将看到显示每个节点类型的工具提示。