1

NVD3 にグラフを実装しましたが、深刻な問題が発生しています。NVD3 は、大きな値を含むデータセットを処理できないようです。グラフはhttp://brad.kizer.com.ng/にあります。グラフのコードは次のとおりです。

nv.addGraph(function() {
    // Get maximum and minimum Y values
    var minY = 2 >> 30,
        maxY = 0;

    data.forEach(function (d) {
        d.values.forEach(function (s) {
            minY = Math.min(minY, s.y);
            maxY = Math.max(maxY, s.y);
        });
    });

    var chart = nv.models.stackedArea()
        .forceY([0, 20])
        .height($(container).closest('.chart').height())
        .width($(container).closest('.chart').width());

    (Object.prototype.toString.call(data) === '[object Array]') || (data = [data]);

      d3.select(container)
          .attr('width', $(container).closest('.chart').width())
          .attr('height', 250)
          .datum(data)
        .transition().duration(500)
          .call(chart);

    nv.utils.windowResize(chart.update);
    return chart;
});

何日も頭を悩ませていたので、どんな助けにも感謝します。

4

1 に答える 1

3

私の問題を解決しました。問題は、Y 軸に提供されたデータが文字列であることでした。これにより、数値の加算が文字列の連結になると思われます。

"123" + "902" + "384" + "382" == "123902384382"; // (instead of 1791)

私がしたことは、データを調べて、文字列を数値に変換することでした。

于 2012-10-26T22:22:07.197 に答える