Jak linebreakować tekst svg w javascript?

Zaczynam od d3.js i próbuję utworzyć wykres sieciowy, z którego każdy okrąg zawiera etykietę.

Chcę, aby linia przerwała tekst svg.

Próbuję rozbić tekst na wiele elementów<tspan>s, każdy z x = „0” i zmienną „y”, aby symulować rzeczywiste linie tekstu. Kod, który napisałem, daje pewien nieoczekiwany rezultat.

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);
  }
 }
});

W tym kodzie dzielę ciąg tekstowy na białe znaki i dołączam każdy podzielony ciąg do tspan. Ale tekst należący do innego okręgu jest również wyświetlany w każdym okręgu. Jak pokonać ten problem?

Oto JSFIDDLEhttp://jsfiddle.net/xhNXS/ tylko z tekstem svg

Oto JSFIDDLEhttp://jsfiddle.net/2NJ25/16/ pokazujący mój problem z tspan.

questionAnswers(1)

yourAnswerToTheQuestion