我创建了一个类似于这样的力导向图,该图与一个类似mestrables.js的JSON文件一起使用。可视化显示了相互引用的出版物之间的网络。
以下代码定义了源节点和目标节点的颜色:
var color = d3.scale.category10();...
.style("fill", function(d) { return color(d.group); })
那么,我如何定义节点的颜色,它同时是源和目标?
颜色是根据节点的组设置的,节点组是从JSON数据源加载的。因此,我认为您需要对数据进行预处理以添加额外的组。
例如,假设有三种节点类型:source=1,target=2,both=3。D3JSON数据源指定节点和节点之间的链接。
例如:
{
"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}
]
}
这方面的一个运行示例如下。如果将鼠标悬停在节点上,您将看到显示每个节点类型的工具提示。