请参见
bl.ocks.org/rkirsling/5001347
单击画布中的任意位置。它创建一个新节点。将鼠标从一个节点拖到另一个节点。它在节点之间创建一个箭头。我希望在创建箭头后将文本显示为箭头的标签。文本应仅附加到该箭头。在其中添加什么代码以及在哪里添加?
请参阅我提到的示例 (bl.ocks.org/rkirsling/5001347) 中的以下代码行:
link = {source: source, target: target, left: false, right: false};
link[direction] = true;
links.push(link);
在那之后,我添加了以下内容
linkLabels = svg.selectAll("link").data(links).enter()
.append("text")
.attr("x", function(d) { return d.source.x + (d.target.x - d.source.x)/2; })
.attr("y", function(d) { return d.source.y + (d.target.y - d.source.y)/2; })
.text(function(d) {return (d.source.id + "-" + d.target.id);});
它附加文本,但问题是每次创建链接时,它都会将文本附加到该链接以及所有其他链接。因此,文本多次附加到许多链接。我希望文本只应附加到刚刚创建的链接。怎么做?我什至用“.link”替换了“链接”,但现在没有显示任何文字。