ハイチャートのドキュメントページでdynamic spline jsfiddle を研究しています。ここでは、Math.random()
を使用してデータを更新し、シリーズに追加します。ドキュメントからハイチャートはcsvファイルからチャートを動的に更新します
、私もすべてを一度に(またはrapid highchartsから優れたコードを使用して:
function parseCSVData(csvFile) {
var data = []
var lines = csvFile.split("\n")
$.each(lines, function (lineNumber, line) {
var fields = line.split(",");
if (fields.length == 2){
var timestamp = Date.parse(fields[0])
var value = parseFloat(fields[1]);
data.push([timestamp, value])
}
})
return data}
)の代表的なcsv filesをロードする方法を知っている
私が何をしたいのです:
- csvファイルの1行を読み取る
- グラフを更新する 秒
- ため
- 休止ファイル
ひいてはリアルタイムアプリケーションを模倣するが終了するまで上記やり直します。
しかし、以前に読み取った行を追跡する方法がないため、単にevent : load
の下に置くことはできません。 リアルタイムでデータをプルする例では、apiやwebsocketのようなものを使用しています。これは、私にとってはあまりにも進んでいて、私の場合は使用できません。
は私のcsvファイルは次のようになります言ってやるがいい。(sample.csv)
t observed 1 19 2 12 3 28 4 17 5 85 6 22 7 86 8 16 9 90 10 93 11 39 12 96 13 42 14 74 15 100 16 22 17 41 18 32
比較的簡単な方法で、上記の手順を実行する方法はありますか? my jsfiddle
あなたはスプライン例のようにそれを行うことができますか?彼らはそこにあるsettimeoutを使ってデータを更新するためにmath.randomを使用せず、ランダムなデータを生成するためにmath.randomを使うのではなく、setTimeoutはそれを更新するものです あなたのチャートは今フィドルでどのように見えますか? – JordanHendrix
彼らは 'setInterval'を使って新しいデータを生成し、それを毎秒シリーズに追加します。これまで読んだ行を追跡する必要があるので、私はここでそれを行うことはできません。 'event:load'の下にあるコードは、以前のアクションの参照を保持することができません。私は本当にうまく動作していませんが、これに最も近いのです。https://jsfiddle.net/f2ph7jap/ – Pep
すべてのCSVデータを解析して配列に入れることができます。次に、配列はすべての配列が追加されるまで 'setInterval'で反復され、間隔をクリアします。配列と反復子の外側の関数を定義すると、すべての反復でアクセスできるようになります。 –