1

変換位置を含むjsonデータがあり、作成した関数を使用して重心とともにそのデータを返します。このコードを実行すると、テキストは下部に沿って直線で実行されます。

var prac = svg.append("g.prac")
            .data(inner)
            .enter()
            .append("g")
            .attr("transform", function(d,i){return "translate ("+ arc[i].centroid() +")" + d.trans;});   

        prac.append("text")
            .style("font", "bold 12px Arial")
           .text(function(d) {return d.text;})
        ;

グループ化する代わりに(svg:text)を追加しようとしましたが、表示されません。

誰かが私の問題を手伝ってくれますか?...問題をより明確にするために例を添付しました:http://jsfiddle.net/xwZjN/48/

4

1 に答える 1

0

<g.prac>1つの問題は、要素の代わりに要素を追加していることです<g class='prac'>。これを修正するには、次のようなコードを切り替えます。

svg.append("g.prac")

これとともに:

svg.append("g").attr("class", "prac")

次に、さらに重要なことに、データをバインドする要素を選択する必要があります。要素がまだ作成されていない場合でも(Scott Murrayがこれについて説明しています)。したがって、次のpracように作成する必要があります。

svg.append("g")
    .attr("class", "prac")
  .selectAll("g")
    .data(inner)
    .enter()
    .append("g")
    .attr(...)

これが私が両方のためにその変換を行ったjsfiddleですg.prac: http g.presence//jsfiddle.net/c6w7j/4/

私はそれがあなたをそこへの道の一部にさせると思います。そのテキストが実際に目的の場所に到達しているかどうかはわかりませんが、少なくとも構造は修正されるはずです。

于 2012-11-21T21:55:56.247 に答える