我从 d3.js 开始,并试图创建一个网络图,其中每个圆圈都包含一个标签。
我想要的是一个svg文本的换行符。
我要做的是将文本分成多个<tspan>
s,每个都带有 x="0" 和变量 "y" 以模拟实际的文本行。我写的代码给出了一些意想不到的结果。
var text = svg.selectAll("text").data(force.nodes()).enter().append("text");
text
.text(function (d) {
arr = d.name.split(" ");
var arr = d.name.split(" ");
if (arr != undefined) {
for (i = 0; i < arr.length; i++) {
text.append("tspan")
.text(arr[i])
.attr("class", "tspan" + i);
}
}
});
在这段代码中,我用空格分割文本字符串,并将每个分割的字符串附加到 tspan。但是属于其他圈子的文字也显示在每个圈子中。如何克服这个问题?
这是一个只有 svg 文本的 JSFIDDLE http://jsfiddle.net/xhNXS/
这是一个 JSFIDDLE http://jsfiddle.net/2NJ25/16/显示我的 tspan 问题。