D3.js d3力图将圆弧附加到节点中
我试图将弧附加到图形的节点上,如果我这样写,它可以工作:D3.js d3力图将圆弧附加到节点中,d3.js,D3.js,我试图将弧附加到图形的节点上,如果我这样写,它可以工作: var arc = d3.arc() .innerRadius(13) .outerRadius(43) .startAngle(0) .endAngle(2 * Math.PI); var result = d3.select(".nodes") .append("path") .attr("d", arc) .at
var arc = d3.arc()
.innerRadius(13)
.outerRadius(43)
.startAngle(0)
.endAngle(2 * Math.PI);
var result = d3.select(".nodes")
.append("path")
.attr("d", arc)
.attr("fill", "lightgrey")
.attr("transform", "translate(" + d.x + "," + d.y + ")");
“d.x”和“d.y”实际上就是我单击的节点
但是,如果我只是使用单击的节点id选择节点:
var result = d3.select("name_"+d.id)
.append("path")
.attr("d", arc)
.attr("fill", "lightgrey")
.attr("transform", "translate(" + d.x + "," + d.y + ")");
它不起作用。我可以成功打印出结果:
console.log(JSON.stringify(result));
我只是想知道为什么我不能直接按id选择?谢谢。要按ID选择,您可以按以下方式进行:
var output = "name_"+d.id;
var result = d3.select("[id=" + output + "]")
.append("path")
.attr("d", arc)
.attr("fill", "lightgrey")
.attr("transform", "translate(" + d.x + "," + d.y + ")");
很抱歉输入错误:var result=d3.select(“#name_u“+d.id”)但notvar result=d3.select(“name_“+d.id”)您可以单击“编辑”链接更正原始帖子中的输入错误。