2017-06-25 12 views
0

ここにはproblemがあります。ズーム可能な散布図でD3ラベルが表示されます

Uncaught TypeError: Cannot read property 'x' of undefined

最後の行に対応しています。あなたはドラッグするか、ズームインすると、ラベルが

エラーが動いていません。

function zoom() { 
    svg.select(".x.axis").call(xAxis); 
    svg.select(".y.axis").call(yAxis); 

    svg.selectAll(".dot") 
     .attr("transform", transform); 

    svg.selectAll("text") 
     .attr("transform", transform); 
    } 

    function transform(d) { 
    return "translate(" + x(d.x) + "," + y(d.y) + ")"; 
    } 

答えて

0

あなたがこれを行う ...

svg.selectAll("text") 

...あなたはすべてそのSVGのテキスト要素を選択していて、それらの文章の一部にはバインドされたデータを持っていません。

ソリューション:彼らに(たとえば、.text)クラスを提供し、そのクラスによって選択:https://jsfiddle.net/zoy0cxwq/

:ここ

svg.selectAll(".text") 
    .attr("transform", transform); 

は、あなたの更新フィドルです

関連する問題