1

前回の投稿の続き:

シミュレートされたデータを含む「ライブ」グラフ d3.js

データベースから 1 分間隔でデータを取得しています。json 配列は新しい「ライブ」データで更新されていますが、x 軸と y 軸の両方が線/パスを更新している間はそうではありませんか?

https://gist.github.com/Majella/5fc4cd5f41a6ddf2df23

これがなぜなのかわかりません - 誰か助けてくれますか?

PS - data.push() と data.shift() を「SetInterval」関数に追加して、新しいデータを許可しようとしました - 違いはないようです - 軸は凝縮されており、新しいものとして読みにくいですデータが追加されました。

4

1 に答える 1

0

あなたは、軸が圧縮されていると述べています。これは、データが MySQL テーブルに継続的に追加されていることを示していますが、クエリを実行すると、すべての時間値が引き出されます。

MySQL クエリに、表示したい期間の量のデータのみを引き出す行を含めることをお勧めします。

たとえば、60 分間のデータのみを表示したい場合は、次のような適切な 'WHERE' ステートメントを使用して、最後の 1 時間分の結果を選択します...

SELECT dateTimeTaken, reading FROM TestSourceSampleData 
WHERE dateTimeTaken BETWEEN NOW()-INTERVAL 1 HOUR AND NOW()
GROUP BY dateTimeTaken

(クエリはテストされていません)

他に試してみたいことは、d3.js の v3 を使用することです ( d3.v3.jshtml ファイルの 14 行目)。つまり、次のように d3.json 行にエラー トラップを含める必要があると思います。

d3.json("getdata.php", function(error, data) {

45行目と131行目。

それらのアイデアを試してみてください。

于 2013-02-10T02:44:31.030 に答える