我想创建一个像http://bl.ocks.org/mbostock/4062045这样的力导向图,我可以使用网站上提供的代码来实现。
我想在此执行的调整是:我想用不同的颜色为边缘(链接)着色,以便清楚地描绘两个节点之间的关系。
我的 json 结构看起来像:
{
"links": [
{
"group": 2,
"source": "node1",
"target": "node2",
"value": "5"
},
{
"group": 1,
"source": "node2",
"target": "node3",
"value": "5"
}],
"nodes":
[{ "name": "node1" }
{ "name": "node2" }
{ "name": "node3" }]}
我试过了:
var color = d3.scale.category10();
并对其进行样式设置:
.style("stroke", function(d) { return color(d.group)})
没有成功。问题是,如果我将颜色设置为“红色”或“蓝色”或任何其他颜色而不是放置函数,所有边缘的颜色都很好。此外,我可以按照示例力有向图中给出的不同方式为“节点”着色,但相同的属性不适用于链接。
我尝试了最天真的比较方式
if (d.group == 1) { return "blue"; }
但仍然没有成功。我显然错过了一些非常基本的东西。任何人都可以帮我解决这个问题。非常感激。