echarts动态图表


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript" src="echarts.min.js"></script>
    <style type="text/css">
    #eachart{
        width: 800px;
        height: 500px;
        margin:20px auto;
    }
    </style>
</head>
<body>
    <div id="eachart"></div>
    <script type="text/javascript">        
        //初始化echarts实例
        var myChart = echarts.init(document.getElementById('eachart')),timer = null,day = 0;
        var date = [];
        var data = [];
        function addData(shift){      
            date.push(day);        
            data.push(Math.random()*20);
            if (shift) {
                date.shift();
                data.shift();
            }
            if(day++ >30){
                day=0
            }       
        }

        for (var i = 0; i < 30; i++) {
            addData();
        }
        //设置图标配置项
        option = {
            title:{
                text:'ECharts 30天内数据实时更新'
            },
            xAxis:{
                type:"category",
                data:date
            },
            yAxis:{
                type:'value'
            },
            series:[{
                name:'成交',
                type:'line',
                data:data
            }]
        }
        myChart.setOption(option)
        clearInterval(timer)
        timer = setInterval(function(){
            addData(true);
            myChart.setOption(option);
        },1000)
    </script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
    #divProgress{
        width: 500px;
        height: 500px;
        margin:20px auto;
    }
    </style>
</head>
<body>
<div id="divProgress"></div>
    <script src="http://cdn.staticfile.org/jquery/2.1.1-rc2/jquery.min.js"></script>
    <script src="http://echarts.baidu.com/build/dist/echarts.js"></script>
    <script type="text/javascript">
        var myChart;
        var test = 10
        // 路径配置
        require.config({
            paths: {
                echarts: 'http://echarts.baidu.com/build/dist'
            }
        });
        // 使用
        require(
            [
                'echarts',
                'echarts/chart/bar' // 使用柱状图就加载bar模块,按需加载
            ],
            function (ec) {
                // 基于准备好的dom,初始化echarts图表
                 myChart = ec.init(document.getElementById('divProgress'));
                var option = {
                    tooltip: {
                        show: true
                    },
                    animation: true,
                    legend: {
                        data: ['销量']
                    },
                    xAxis: [
                        {
                            type: 'category',
                            data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
                        }
                    ],
                    yAxis: [
                        {
                            type: 'value'
                        }
                    ],
                    series: [
                        {
                            "name": "销量",
                            "type": "bar",
                            "data": [5, 20, 40, 10, 10, 20]
                        }
                    ]
                };
                // 为echarts对象加载数据 
                myChart.setOption(option);
            }
        );
        
        //这里用setTimeout代替ajax请求进行演示
    window.setInterval(function () {
        var data = [test, 5, 10, 40, 20, 10];
       $.get("SQLTest.ashx",function(responseTxt,statusTxt,xhr)
       {
        test=responseTxt;
        //if (statusTxt == "success")alert(test);
        if (statusTxt == "error")
                alert("Error: " + xhr.status + ": " + xhr.statusText);
       });
        data = [test, 5, 10, 40, 20, 10];
        refreshData(data);       
    },3000);
     
    function refreshData(data){
         if(!myChart){
              return;
         }
         
         //更新数据
          var option = myChart.getOption();
          option.series[0].data = data;   
          myChart.setOption(option);    
    }
    </script>
</body>
</html>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM