我创建了一个像这样的力导向图,它适用于类似 miserables.js 的 JSON 文件。可视化显示了相互引用的出版物之间的网络。
以下代码定义了源节点和目标节点的颜色:
var color = d3.scale.category10();...
.style("fill", function(d) { return color(d.group); })
那么,如何定义节点的颜色,它同时是源和目标?
颜色是根据节点的组来设置的,节点组是从 JSON数据源加载的。因此,我认为您需要预处理数据以添加其他组。
例如,假设存在三种节点类型: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。如果将鼠标悬停在节点上,您将看到显示每个节点类型的工具提示。