4

既存の NVD3 チャートのデータを更新すると、x 軸の目盛りが一定間隔でレンダリングされません。

multiBarChartをソースとするデータでを作成していますd3.json()。データは、ある日付範囲のヒット数を表しています。チャートのデータを更新する別の日付範囲ピッカーがあります。

グラフを作成するために次のものがあります(簡略化):

initGraph = function(url) {
  d3.json(url, function(data) {
    nv.addGraph(function() {
      chart = nv.models.multiBarChart();

      d3.select('#chart svg').datum(data).transition().duration(500).call(chart);
      nv.utils.windowResize(chart.update);

      return chart;
    });
  });
};

そして、それを更新する次の関数は、日付ピッカーで呼び出されます。

redrawGraph = function(url) {
  d3.json(url, function(data) {

    d3.select('#chart svg').datum(data).transition().duration(500).call(chart);
    nv.utils.windowResize(chart.update);
  });
};

すべて問題ないように見えますが、目盛りの間隔が一貫していないことがあります。

ぐらついたダニ

これは、既存のチャートを更新する場合にのみ発生します。

データが正しいこと、つまり x 値が固定値で増加していることを確認するのにかなりの時間を費やしたので、グラフを再描画するときに何かが欠けているとしか思えません。

4

2 に答える 2

1

日付範囲が選択されているときにグラフを無作法に再作成することで、この問題を回避しました。

$("#chart svg").empty();

結果は、期待するほど審美的にひどいものではありません。

于 2013-02-12T07:54:35.693 に答える