2017-09-27 3 views
0

http://jsfiddle.net/xu77zz1m/D3 Text erscheint nicht mein Lichtbogen

Ich habe ein Beispiel, das ich online gezogen habe. Ich kann nicht herausfinden, warum kein Text erscheint, wenn ich versuche, ihn mit diesem Pfad an den Pfad anzuhängen.

path.append('text') 
    .attr('transform', function(d) { return "translate(" + arc.centroid(d) + ")"; }) 
    .attr('dy', "0.35em") 
    .attr('style', "color: white; font-size: 50px;") 
    .text(function(d) {return "hellos"; }); 

Es erscheint im html als Tag mit meinem richtigen Text, den ich eingeben, aber nichts zeigt auf der Seite nach oben.

Was ist los?

Antwort

1

Der SVG-Pfad (oder SVG-Formen wie Rechteck und Kreis) kann nicht an Text angehängt werden. Sie würden für jeden Bogen ein Elternelement "g" benötigen, das die Pfad- und Textelemente enthalten könnte.

var arcs =svg.selectAll('.'+className) 
       .data(pie(dataset)) 
       .enter() 
       .append('g') 

    var path = arcs.append('path') 
      //etc 

    arcs.append('text') 
      //etc