2016-12-31 37 views
0

私のデータ量は日々大きくなります(今のところ、200kのMySQL行が1週間で表示されます)。私は非同期読み込みメソッドがここに行く正しい方法だと思います(http://www.highcharts.com/stock/demo/lazy-loading)。 私はそれを実装しようとしましたが、動作しません。これまでのところ、私はPythonでURLパラメータを使って自分のデータを提供することができます。 http://www.url.de/data?start=1482848100&end=1483107000、私は例のコードでは理解していないいくつかのことがあります。Highcharts/Highstock(非同期読み込み)で大きなデータ量

  • は、すべてのデータの期間がナビゲーターで選択された場合は、すべてのデータが 私のサーバーによって提供され、チャートによってロードされています。だから私は今のところ私が怠惰な読み込みなしで何をしているのかを私は と同じです。違いは何ですか?
  • 上記の例のコード にURLパラメータのない2番目のgetJSON()メソッドがあるのはなぜですか?次のURLは空です。何が私は が必要ですか?私はそれを理解していません: https://www.highcharts.com/samples/data/from-sql.php?callback=?データをロードする

及び方法が優れている?: この1:chart.series[0].setData(data); か、私がこれまで使用し、それ以下のコード:

var ohlc = [], 
volume = [], 
dataLength = data.length, 
i = 0; 
for (i; i < dataLength; i += 1) { 
ohlc.push([ 
data[i]['0'], // date 
data[i]['1_x'], // open 
data[i]['2_x'], // high 
data[i]['3'], // low 
data[i]['4'] // close ]); 

答えて

2

遅延ロードのデモの背後にある考え方は、あなたということです必要なポイントだけを取り出すので、1.7 mlnポイントのデータがあれば、チャートにはそれほど多くのポイントをロードすることはありません。

  • Highchartsデモに基づいています。あまりにも多くのポイントをロードする代わりに、既にグループ化されたポイントを要求し、毎日1.7マイルのポイントを持ち、ナビゲータを「すべて」(時間範囲1998〜2011)に設定すると、毎日のデータは必要ないので、毎月のポイント。利益は次のとおりです:クライアント側の処理データ(処理、グループ化など)を避けるために、より少ない量のデータ(12 * 14 = 170万の代わりに168)を取り込み、クライアントのメモリとCPU使用量を減らし、 。

  • データのリクエストはJSONP形式です。その利点の詳細についてhere実際には、URLには3つのパラメータがあります - 必須callback=?とオプションのstart=?&stop=? - ポイントの時間範囲とその密度を示します。サーバーには既定の既定値が既に設定されているため、最初の要求には開始/停止パラメーターがありません。ナビゲーターが移動された後、より詳細なポイントが要求され、チャートにロードされます。これは、怠惰なローディングの欠点です - ナビゲータが移動された後、あなたの要求は新しいデータセット - 頻繁なデータ要求とネットワーク障害のため中断です。

あなたの最後の質問に対する回答は、データが正しい形式であるかどうかによって異なります。そうした場合、クライアント側でデータをループさせずに直接チャートにロードすることを避けることができます。フォーマットが正しくない場合、データを前処理しなければならないので、チャートはそれらを正しく視覚化することができます。理想的には、データを要求後に適切な形式にすることができます。可能であれば、サーバー側で行う必要があります。

+0

ありがとうございます。ネットワーク障害のために頻繁なデータ要求と中断が発生した場合は、より良い解決策がありますか? PoloniexまたはTradingViewがこの問題をどのように処理しているか知っていますか? – saitam

+0

私はそれらのウェブサイトがそれをどのように処理するかはわかりませんが、ウェブサイトの活動が大きく成長しない限り、それは問題ではないと思います。私はいくつかの欠点を指摘するためにそれを誇張して言いました。 – morganfree

関連する問題