2016-03-27 13 views
1

この例のコード使用:Highcharts動的更新の例 - 毎秒1つの新しい値を追加する - 歴史的データのない

http://www.highcharts.com/stock/demo/dynamic-update

注:コードを表示するために、そのページにjsfiddle.netするためのリンクがあります。

このコード例では、2つの基本的なことを行っています。A)グラフの読み込み時に1000個のランダムな値でプライムし、B)1秒ごとに新しいランダムな項目を追加します。

問題は、使用可能な履歴データがなく、最初の負荷を取り込み、空の[]シリーズデータセットで開始する場合です。グラフが表示されないか、スケールがすべて揃っていません。この例の動作は、新しい値を追加する前に入力された1000の値に依存しているようです。

誰かが私の質問/問題を理解していますか?

+0

私はいくつかの問題があるかもしれないことは理解できますが、実際にどのように機能させたいのですか?解決したい具体的な問題は何ですか? –

+0

あなたがアイテム[ - ]で始まらない場合、addPointを実行すると、まったく表示されません。そして、1つのアイテムから始めても、チャートがスクロールする方法は999で始まるときとはまったく異なります。999を1秒に1回追加するか、999を一度に追加するか(1秒間隔でシミュレーション) –

+1

あなたが考えていることは、新しいポイントを追加するときに 'addPoint'がポイントを移動していると仮定していると仮定します。したがって、1000ポイントのときは1000ポイントのままです。あなたは1ポイントを持っているとき、それは1ポイントのままです。 1ポイントは非常に良いグラフを作成しません。それですか? –

答えて

1

例のaddPoint関数は、新しい値を追加するときに最初の点をシフトし、合計値を同じ値に保ちます。これは1000ポイントで目立たないが、1ポイントしかない場合は奇妙に見える。

addPointメソッドのシグネチャは、(API)である:例で

addPoint (Object options, [Boolean redraw], [Boolean shift], [Mixed animation]) 

コードは:

series.addPoint([x, y], true, true); 

、シフトを削除(またはfalseに設定)に対する第3のパラメータ:

series.addPoint([x, y], true); 

または動的にk

shift = series.data.length >= 1000 ? true : false; 
series.addPoint([x, y], true, shift); 
関連する問題