既存の 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 値が固定値で増加していることを確認するのにかなりの時間を費やしたので、グラフを再描画するときに何かが欠けているとしか思えません。