Javascript 如何在D3Force布局中为类调用特定节点?
这让我快发疯了。下面是我想为每个节点输入特定类的代码。在这里,它为所有节点分配“node”类,但我想强制第一个节点分配“node1”之类的。我一直在玩(d,I),但它不起作用 这是一个我一直与之合作的项目Javascript 如何在D3Force布局中为类调用特定节点?,javascript,d3.js,Javascript,D3.js,这让我快发疯了。下面是我想为每个节点输入特定类的代码。在这里,它为所有节点分配“node”类,但我想强制第一个节点分配“node1”之类的。我一直在玩(d,I),但它不起作用 这是一个我一直与之合作的项目 //add nodes and effects var node = svg.selectAll("g.node") .data(json.nodes) .enter().append("g") .attr("class", "node")
//add nodes and effects
var node = svg.selectAll("g.node")
.data(json.nodes)
.enter().append("g")
.attr("class", "node")
.attr("class", "node")
可以根据数据应用节点类或ID: 与此相反:
var node = svg.selectAll("g.node")
.data(json.nodes)
.enter().append("g")
.attr("class", "node")
它将同一类应用于所有节点,如前所述,您可以使用以下内容:
var node = svg.selectAll("g.node")
.data(json.nodes)
.enter().append("g")
.attr("class", function(d,i) {return "node-" + i; })
这里i等于当前节点在数据数组中的位置。因此,您将拥有如下类:node-0
,node-1
,node-2
。。。d表示绑定到节点的数据,您可以使用d.property访问其属性
因此,您可以使用数据的属性来定义类或id:
var node = svg.selectAll("g.node")
.data(json.nodes)
.enter().append("g")
.attr("class", function(d) { return "node-" + d["property"]; })
或
var node = svg.selectAll("g.node")
.data(json.nodes)
.enter().append("g")
.attr("class", function(d) { return "node-" + d.property; })