リアルタイムで更新したい注釈付きタイムラインがあります ( Google Financeと同様)。ただし、データが追加されたときにグラフがちらつかず、再ズームしないようにするのに問題があります。
コードを JSFiddle で動作させることができませんでした (注釈付きのタイムラインがフラッシュ ベースであるためだと思いますか?) が、Google の Visualization Playgroundにプラグインできる基本的なコードがいくつかあります。ここで保存された例を見ることができますが、残念ながらコードを変更することはできません。それを行うには、プレイグラウンドに移動する必要があります。
function drawVisualization() {
var data = new google.visualization.DataTable();
data.addColumn('date', 'Date');
data.addColumn('number', 'My Data');
data.addRows([
[new Date(2009, 1 ,1), 30000],
[new Date(2009, 1 ,2), 14045],
[new Date(2009, 1 ,3), 55022],
[new Date(2009, 1 ,4), 75284],
[new Date(2009, 1 ,5), 41476],
[new Date(2009, 1 ,6), 33322]
]);
var annotatedtimeline = new google.visualization.AnnotatedTimeLine(
document.getElementById('visualization'));
var options = {
'allowRedraw' : true ,
'displayAnnotations' : true,
'zoomStartTime': new Date(2009, 1 ,2),
'zoomEndTime': new Date(2009, 1 ,10)
};
annotatedtimeline.draw(data, options);
// let's add some more data in 3 seconds
setTimeout(function() {
again(annotatedtimeline, data, options);
}, 3000);
}
function again(timeline, data, options) {
data.addRow([new Date(2009, 1 ,7), 30000]);
timeline.draw(data, options);
}
google.setOnLoadCallback(drawVisualization);
奇妙なのは、displayAnnotations の設定方法に応じて、ちらつきの動作がかなり異なることです。
displayAnnotations = true
: チャートがちらつきますが、再ズームしません: チャートがちらつき
displayAnnotations = false
ませんが、新しいデータに再ズームします (確認するには、プレイグラウンドで試してください)
設定allowRedraw = false
に関係なくチャートがちらつきます。ちらつきや再ズームをなくす方法はありますか?