nvd3 を使用して、ajax リクエストを介してデータを受信する単純な折れ線グラフを描画しています。最初の描画リクエストでは完全に機能していますが、再描画では機能していません。同じ描画関数を呼び出してグラフを再描画しますが、異なるデータ + 異なる最大/最小値を使用します。
新しいデータでチャートを再描画すると、「ホバー サークル」は表示されませんが、ツールチップは表示されます。さらに、グラフの凡例をクリックして再描画を強制すると、ホバーが再び表示されますが、yAxis の値は最初に描画されたグラフの値に変更されます。
これまでのところ、チャートを再描画しても古い最大値/最小値が保持されていると想定していますが、「ホバー」効果についてのみです。これまでのところ、一般的なチャートは再描画でも問題ないように見えます-問題はホバーに直面しているだけで、それだけです.
かなりややこしいように聞こえますが、要点を理解していただければ幸いです。
いくつかのコード:
d3.json(queryurl, function(data2){
nv.addGraph(function(jsonData) {
if(chart){
chart.remove();
}
chart = nv.models.lineChart()
.x(function(d) { return d[0] })
.y(function(d) { return d[1] })
.color(d3.scale.category10().range());
chart.xAxis
.tickFormat(function(d) {
return d3.time.format('%x')(new Date(d))
});
chart.yAxis
.scale()
.tickFormat(d3.format(''));
chart.lines.yDomain([maxmin.max,maxmin.min]);
d3.select('#chart1 #chartsvg')
.datum(data2)
.transition().duration(600)
.call(chart);
nv.utils.windowResize(chart.update);
});
});
return chart;}