addData中的其中两个参数
false, // 新增数据是否从队列头部插入
true, // 是否增加队列长度,false则自定删除原有数据,队头插入删队尾,队尾插入删队头
如果是否增加队列长度设置为false,那么定时器时间必须>=1000,否则会出现bug。如果小于1000的话折线不出现,只出现点的效果。
option = {
title : {
text: '动态数据',
subtext: '纯属虚构'
},
tooltip : {
trigger: 'axis'
},
legend: {
data:['最新成交价']
},
toolbox: {
show : true,
feature : {
mark : {show: true},
dataView : {show: true, readOnly: false},
magicType : {show: true, type: ['line', 'bar']},
restore : {show: true},
saveAsImage : {show: true}
}
},
dataZoom : {
show : false,
start : 0,
end : 100
},
xAxis : [
{
type : 'category',
boundaryGap : true,
data : (function (){
var now = new Date();
var res = [];
var len = 10;
while (len--) {
res.unshift(now.toLocaleTimeString().replace(/^\D*/,''));
now = new Date(now - 2000);
}
return res;
})()
}
],
yAxis : [
{
type : 'value',
scale: false,
name : '预购量',
boundaryGap: [0.2,0.2]
}
],
series : [
{
name:'最新成交价',
type:'line',
data:(function (){
var res = [];
var len = 10;
while (len--) {
res.push((Math.random()*10 + 5).toFixed(1) - 0);
}
return res;
})()
}
]
};
var lastData = 11;
var axisData;
clearInterval(timeTicket);
timeTicket = setInterval(function (){
lastData += Math.random() * ((Math.round(Math.random() * 10) % 2) == 0 ? 1 : -1);
lastData = lastData.toFixed(1) - 0;
axisData = (new Date()).toLocaleTimeString().replace(/^\D*/,'');
// 动态数据接口 addData
myChart.addData([
[
0, // 系列索引
lastData, // 新增数据
false, // 新增数据是否从队列头部插入
true, // 是否增加队列长度,false则自定删除原有数据,队头插入删队尾,队尾插入删队头
axisData // 坐标轴标签
]
]);
}, 100);
