抱歉,这无疑是一个愚蠢的问题,但是我已经玩了好几个小时了,无法解决这个问题。
我的力导向图可以很好地与组一起工作,并且我正在尝试向节点添加标签。
但是,我只是不能使它正常工作!我不会从很多失败的尝试中粘贴代码,相反,这就是我现在用来绘制图形的方式。我该如何将d.id
作为文本标签添加到节点?
let g = svg
.append("g")
.attr("transform", "translate(" + width / 2 + "," + height / 2 + ")"),
link = g
.append("g")
.attr("stroke", "#000")
.attr("stroke-width", 1.5)
.selectAll(".link"),
node = g
.append("g")
.attr("stroke", "#fff")
.attr("stroke-width", 1.5)
.selectAll(".node");
// Apply the general update pattern to the nodes.
node = node.data(nodes, function(d) {
return d.id;
});
node.exit().remove();
node = node
.enter()
.append("circle")
.attr("fill", function(d) {
return color(d.group);
})
.attr("r", 15)
.merge(node);
答案 0 :(得分:-1)
let allNodes = svg.selectAll(“。node”)。data(nodes,d => d.id)
let newNodes = allNodes.enter()。append(“ g”)。classed(“ node”,true);
...
newNodes.append(“ circle”)。attr(“ fill”,...)。attr(“ r”,15)
newNodes.append(“ text”)。text(d => d.id)
...
allNodes = newNodes.merge(allNodes)
allNodes.exit()。remove()