36
nvd3.jsを使用してリアルタイムグラフを作成しようとしていますが、これは定期的に更新され、データがリアルタイムで処理されるという印象を与えます。nvd3.jsを使用したリアルタイム折れ線グラフ
今のところ私は定期的にグラフを更新する関数を作成することができましたが、左に遷移する線のような "状態"間のスムーズな遷移はできません。
Here私はnvd3.jsを使用してやったことで、ここで興味深いのコードは次のとおりです。
d3.select('#chart svg')
.datum(data)
.transition().duration(duration)
.call(chart);
今、私はd3.jsを使用して欲しいものを生成することができましたが、私のことができるようにすることを好むだろうnvd3.jsが提供するすべてのツールを使用してください。 Here私はd3.jsを使用して移行のnvd3
興味深いコードを使用して生成したいものですです:
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の代わりにnvd3を使用しているためです。私の質問の最初のリンクは、私が今nvd3で持っているものを示し、2番目のリンクはd3.jsで持っている完全に機能するバージョンを示しています。 2番目の方法は、私がd3ソリューションに使用する方法です。 –
ok、私の悪い...あなたのソリューションはすでにd3でそれをやっています –