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);