私はnvd3.jsを使用してリアルタイムグラフを作成しようとしています。これは定期的に更新され、データがリアルタイムで処理されるような印象を与えます。
今のところ、グラフを定期的に更新する関数を作成できましたが、線が左に遷移するように、「状態」間をスムーズに遷移できません。
ここ はnvd3.jsを使用して実行したもので、興味深いコードは次のとおりです。
d3.select('#chart svg')
.datum(data)
.transition().duration(duration)
.call(chart);
これで、d3.jsを使用して必要なものを作成できましたが、nvd3.jsによって提供されるすべてのツールを使用できるようにしたいと思います。 ここ はnvd3を使用して作成したいものです
D3.jsを使用した移行の興味深いコードは次のとおりです。
function tick() {
// update the domains
now = new Date();
x.domain([now - (n - 2) * duration, now - duration]);
y.domain([0, d3.max(data)]);
// Push the accumulated count onto the back, and reset the count
data.Push(Math.random()*10);
count = 0;
// redraw the line
svg.select(".line")
.attr("d", line)
.attr("transform", null);
// slide the x-axis left
axis.transition()
.duration(duration)
.ease("linear")
.call(x.axis);
// slide the line left
path.transition()
.duration(duration)
.ease("linear")
.attr("transform", "translate(" + x(now - (n - 1) * duration) + ")")
.each("end", tick);
// pop the old data point off the front
data.shift();
}
あなたはおそらく見たいと思います: D3 Real-Time streamgraph(Graph Data Visualization) 、
特に答えのリンク: http://bost.ocks.org/mike/path/
一般に、垂直遷移の問題に対処する方法は2つあります。