2

この例の最初のシーンのように、線が左から右にパスを描くアニメーション化された折れ線グラフを作成しようとしています。私は mbostock の例のコードを厳密にフォローしてきましたが、まだいくつかの問題があります。

コードを実行しようとすると、以下に示す draw 関数内の attr メソッドで、「'd' is undefined」というエラーが表示されます。

    var line = d3.svg.line()
        .interpolate('linear')
        .x(function(d,i) {return x(i);})
        .y(function(d,i) {return y(d['measures'][i]);});

    chart.append('path')
            .attr('class','line')
            .data(array);

    function draw(k) {
        chart.select('.line')
            .attr('d',function(d) { return line(d.measures.slice(0,k+1));});
    }

    var k=1, n = array.measures.length;
    d3.timer( function() { 
        draw(k);
        if((k+=2) >= n-1) {
            draw(n-1);
            //next transitions
            return true;
        }

これにより、データがパスに正しくバインドされていないと思います。しかし、なぜそれが正しくバインドされないのか理解できないようです

どんな助けでも大歓迎です!

4

1 に答える 1