您可以將第二個系列作爲垂直線,然後使用setTimeout和setData調用來處理該系列,以匹配動畫的幀速度(或者甚至更好地觸發從動畫前進到動畫的線的移動下一幀)。
看到小提琴here。
$(function() {
var someData = [];
var maxY = -9999, minY = 9999;
for (var i = 0; i < 60; i++)
{
var x = i;
var y = Math.random() * 10;
if (y < minY) minY = y;
if (y > maxY) maxY = y;
someData.push([x,y]);
}
chart = new Highcharts.Chart({
chart: {
renderTo: 'container'
},
xAxis: {
minPadding: 0.05,
maxPadding: 0.05
},
yAxis: {min: minY, max: maxY},
series: [{
data: someData
},
{
data: [[0,minY],[0,maxY]]
}]
});
moveLine = function(){
if (chart.series[1].data[0].x == 59){
x = 0;
}else{
x = chart.series[1].data[0].x + 1;
}
chart.series[1].setData([[x,minY],[x,maxY]]);
setTimeout(moveLine,1000);
}
setTimeout(moveLine,1000);
});
感謝您的答覆。我想出了一個使用plotLines的解決方案(見上文)。如果你知道更新plotline的問題的答案,請告訴我。謝謝! – vulture