0

我想创建一个像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"; }

但仍然没有成功。我显然错过了一些非常基本的东西。任何人都可以帮我解决这个问题。非常感激。

4

0 回答 0