ハイチャートでプロットする必要があるポイントは数万(おそらく数十万)です。サーバー上のデータをクラスター化する方法はありますか?1000ポイント未満が表示されますが、ズームインするとサーバーにAJAX呼び出しが行われ、そのズームされた領域のデータが取得されます同じクラスタアルゴリズム)。 Highcharts APIとのこのインターフェースはどのようになっていますか?ハイチャート大きなデータセットクラスタリング
5
A
答えて
2
はそれ、これはリセットズームイベントであるかどうかを知るためにsetExtremesイベント、 に登録し、
バーバラの答えのために改良したものです。 これは、データセット全体を取得したため、 がリセットされ、リセットズームが正しく機能するようになります。
xとyの両方のズームも可能です。
var isReset = false;
...
xAxis: {
events: {
afterSetExtremes : afterSetExtremes,
setExtremes: function (e) {
if (e.max == null || e.min == null) {
isReset = true;
}
else
{
isReset = false;
}
}
},
minRange: 3600 * 1000 // one hour
},
series: [{
data: data,
dataGrouping: {
enabled: false
}
}]
});
});
});
/**
* Load new data depending on the selected min and max
*/
function afterSetExtremes(e) {
var url,
currentExtremes = this.getExtremes(),
range = e.max - e.min;
var chart = $('#container').highcharts();
var min = 0;
var max = 1.35e12;
if(!isReset)
{
min = e.min;
max = e.max;
}
chart.showLoading('Loading data from server...');
$.getJSON('http://www.highcharts.com/samples/data/from-sql.php?start=' + Math.round(min) +
'&end=' + Math.round(max) + '&callback=?', function (data) {
chart.series[0].setData(data);
chart.hideLoading();
});
}
3
http://www.highcharts.com/stock/demo/lazy-loadingのハイストックデモがあります。 しかし、あなたはhighcharts http://jsfiddle.net/RHkgr/ と同じことを行うことができ、重要なビットを使用すると、ポイントの制限を持っていないとき、あなたはturboThreshold PARAMTERを増やすことができた場合
...
xAxis : {
events : {
afterSetExtremes : afterSetExtremes
},
...
/**
* Load new data depending on the selected min and max
*/
function afterSetExtremes(e) {
var url,
currentExtremes = this.getExtremes(),
range = e.max - e.min;
var chart = $('#container').highcharts();
chart.showLoading('Loading data from server...');
$.getJSON('http://www.highcharts.com/samples/data/from-sql.php?start='+ Math.round(e.min) +
'&end='+ Math.round(e.max) +'&callback=?', function(data) {
chart.series[0].setData(data);
chart.hideLoading();
});
}
+1
もう1つの注意点は、jsfiddleが正しく機能しないことです。それは元のデータを再取得する必要があります – Ray
0
関連する問題
- 1. ハイチャート - バブルダイアグラムは、より大きなバブルより大きなバブルを必要とする
- 2. ハイチャート - yAxis最大データに対するtickInterval
- 3. ハイチャート:ボックスプロットのラベル(最小、最大、中央値など)を表示
- 4. インナーパイのないハイチャートのドーナツチャート?
- 5. MySQL大変大きなテーブルサイズ
- 6. ハイチャートにテキストを適用するツールチップ最大幅
- 7. 大きなデータセット
- 8. Doctrine2大きなコレクション
- 9. 大きなPHPスタック
- 10. 大きなMySQLデータベース
- 11. pthread大きなプロジェクト
- 12. Clojureのパフォーマンス、大きなベクトルに対する大きなループ
- 13. ハイチャートとエクセル4
- 14. ハイチャート - カラムチャートのカスタマイズ
- 15. ハイチャートのプロットヒストグラム
- 16. ハイチャート重複コード
- 17. ハイチャート凡例アライメント
- 18. ハイチャート画像クリックイベント
- 19. ハイチャート選択イベント
- 20. クロスフィルタとハイチャート
- 21. ハイチャート - ロードjsonデータ
- 22. knockoutJSハイチャートのダイナミックチャート
- 23. ハイチャートxシリーズグループ
- 24. jsハイチャートのクリック可能なバー?
- 25. ハイチャート - ディレクティブ内に表示されない
- 26. カテゴリラベルが重なっているハイチャート
- 27. ハイチャートのファンネル角度:
- 28. ハイチャート - 伝説のツールチップ
- 29. ハイチャートの3層ドーナツチャート
- 30. ハイチャートの制限xAxis
私は、データを削除し、新しいデータを追加し、その後、AJAX呼び出し、ロード画面をポップアップし、その後、 'selected'イベントをキャッチする必要があります推測するが、どのようにズームだろうよこの方法はそれを説明しないためです。 – Ray
実際、私はうまくいくと思う。軸が更新されるので、拡大を考慮すると思う。私は元のデータを表示するリセットズームボタンを表示する必要があります。 – Ray