2012-08-05 65 views
0

我创建了一个像this这样的强制有向图,它使用像miserables.js一样构造的JSON文件。可视化显示了相互引用的出版物之间的网络。强制有向图 - 定义节点的颜色,如果节点同时是源和目标

下面的代码定义为一个源节点的颜色和目标节点:

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

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

那么,如何可以定义颜色为一个节点,该节点是在同一时间在源和目标?

回答

2

根据节点的组设置颜色,并从JSON data source加载节点组。所以,我认为你需要预先处理数据来添加额外的组。例如,假设有三种节点类型:源= 1,目标= 2,均= 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。如果将鼠标悬停在节点上,则会看到显示每个节点类型的工具提示。