Webベースのリアルタイムデータグラフを作成したいのですが、次のようなさまざまなオプションを検討しています。
リアルタイムとは、Webサーバーをポーリングするクライアントが毎秒言うか、逆Ajaxを使用することです。サーバーは、利用可能な場合にデータをクライアントにプッシュします。
何かお勧めしてもらえますか?
jQuery に基づくオープンソースのプロットライブラリである Flot の使用を検討してください。
私は、リアルタイムで、グラフが自動的に更新されることを意味すると想定しています。 AJAXポーリングを1秒間隔で使用してデータをフェッチしてプロットした場合、コードは次のようになります。
function fetchData() {
$.ajax({
url: 'json_fetch_new_data.php',
method: 'GET',
dataType: 'json',
success: function(series) {
var data = [ series ];
$.plot($('#placeholder'), data, options);
}
});
setTimeout(fetchData, 1000);
}
実際の動作を確認するには、次のデモを必ずチェックしてください([データのポーリング]ボタンをクリックしてください)。
Flotの詳細については:
SmoothieCharts もあり、このユースケース向けに設計されています。