0

テキスト/ラベルを 2 つの異なる軸に書き込む必要があります。これは私のデータサイズであり、配列に応じて両方の軸に hello と name を出力したいと考えています。しかし、今では 1 つの軸だけが印刷されています。私を助けてください:

enter code here

<script>
  var dat =[1,2,3];
  var canvas = d3.select("body").append("svg")
    .attr("height",500)
    .attr("width",1000)
  var x=10 ; var y=30; var space =50;
  var x1=0 ; var y1=30;
  var gene =canvas.selectAll("text")
    .data(dat)
    .enter()
    .append("text")
    .attr("x",function(d){x=x+space; return x; })
    .attr("y",30)
    .text("hello")
  var gene2 =canvas.selectAll("text")
    .data(dat)
    .enter()
    .append("g")
    .attr("x",function(d){return x1; })
    .attr("y",function(d) {y1=y1+space; return y1; })
    .text("name")
</script>
4

1 に答える 1

0

<text>要素の 2 つのグループを区別していません。コードは最初のデータ バインドでノードを作成し、次にこれらの同じノードを選択し、(同じ既定のバインド キーを使用して) 同じデータを再度バインドします。これにより、既存のノードのデータが単純に更新されます (つまり、enter()選択は空であること)。

これはこれと同様の問題です。そこに記載されている解決方法がいくつかあります。

于 2013-08-01T15:30:03.050 に答える