最新消息:前端博客、web前端博客、Angularjs、javascript、jQuery、HTML5、CSS3

百度echarts 图表插件使用动态addData 数据问题

JavaScript AZ 3105浏览 0评论

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

查看demo 插件下载

转载请注明:TUTERM.COM » 百度echarts 图表插件使用动态addData 数据问题

如果您觉得本文的内容对您的学习有所帮助,您可以支付宝(左)或微信(右):
alipay weichat

您必须 登录 才能发表评论!