HighCharts、HighStock、ライブデータ/ライブチャートに大きな問題があります。
チェックしてください :
http://jsfiddle.net/5RutC/160/
そして、シリーズの1番目(ランダムデータ)を削除してみてください。チャートの更新が停止します。シリーズの1番目を再度選択すると、すべての値で更新が続行されます。
どういうわけかこれを克服することは可能ですか、それともHighCharts / HighStockのバグですか?
ありがとう
HTMLコード:
<script src="http://code.highcharts.com/stock/highstock.js"></script>
<script src="http://code.highcharts.com/stock/modules/exporting.js"></script>
<div id="container" style="height: 500px; min-width: 500px"></div>
Javascriptコード:
$(function() {
Highcharts.setOptions({
global : {
useUTC : false
}
});
// Create the chart
window.chart = new Highcharts.StockChart({
chart : {
renderTo : 'container',
events : {
load : function() {
// set up the updating of the chart each second
var series = this.series[0];
var series1 = this.series[1];
var chart = this;
setInterval(function() {
var x = (new Date()).getTime(), // current time
y = Math.round(Math.random() * 100);
y1 = Math.round(Math.random() * 100);
series.addPoint([x, y], false, true);
series1.addPoint([x, y1], false, true);
chart.redraw();
}, 1000);
}
}
},
rangeSelector: {
buttons: [{
count: 1,
type: 'minute',
text: '1M'
}, {
count: 5,
type: 'minute',
text: '5M'
}, {
type: 'all',
text: 'All'
}],
inputEnabled: false,
selected: 0
},
title : {
text : 'Live random data'
},
legend: {
align: 'right',
layout: 'vertical',
verticalAlign: 'top',
y: 45,
enabled: 'true'
},
exporting: {
enabled: false
},
series : [{
name : 'Random data',
data : (function() {
// generate an array of random data
var data = [], time = (new Date()).getTime(), i;
for( i = -999; i <= 0; i++) {
data.push([
time + i * 1000,
Math.round(Math.random() * 100)
]);
}
return data;
})()
},{
name : 'Random data2',
data : (function() {
// generate an array of random data
var data = [], time = (new Date()).getTime(), i;
for( i = -999; i <= 0; i++) {
data.push([
time + i * 1000,
Math.round(Math.random() * 100)
]);
}
return data;
})()
}]
});
});
</ p>