1. 程式人生 > >Echarts動態載入資料

Echarts動態載入資料

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <!-- 引入 echarts.js -->
    <script type="text/javascript" src="js/echarts.min.js"></script>
    <!-- 引入jquery.js -->
    <script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
    <script type="text/javascript" src="js/jquery.loading.js"></script>
</head>
<body>
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 column">
    <div class="panel info-list" id="solrsumPanel">
        <div class="panel-heading">
            <span class="panel-title">響應時間</span>
        </div>
        <div class="panel-body graph" style="height: 400px;"
             id="solrsumChart"></div>
    </div>
</div>

<script type="text/javascript">
    var drawsolr = function() {

        // 基於準備好的dom,初始化echarts例項
        $('#solrsumPanel').showLoading()// 顯示loading效果,同時關閉提示訊息
        var myChart = echarts.init(document.getElementById('solrsumChart'));
        $.ajax({
            type : 'get',
            url : "data.json",
            data : {

            },
            success : function(data) {
                $.each(data.dateTime, function(i, d) {
                    data.dateTime[i] = data.dateTime[i].substring(0, 10) + ' -'
                            + data.dateTime[i].substring(11, 19);// 擷取日期
                });
                var date3 = [];
                var nums = [];
                var datalist = [];
                var times = [];
                for (var i = 0; i < data.dateTime.length; i++) {
                    date3.push(data.dateTime[i]);
                    datalist.push(data.nums[i]);
                    times.push(data.cost[i]);
                }
                $('#solrsumPanel').hideLoading()
                // 指定圖表的配置項和資料
                var option = {
                    tooltip : {
                        trigger : 'axis',
                        axisPointer : {
                            type : 'cross',
                            label : {
                                backgroundColor : '#283b56'
                            }
                        }
                    },
                    toolbox : {
                        show : true,
                        feature : {
                            dataView : {
                                readOnly : false
                            },
                            restore : {},
                            saveAsImage : {}
                        }
                    },
                    xAxis : [ {
                        type : 'category',
                        boundaryGap : true,
                        data : data.dateTime,
                        nameLocation : 'middle'
                    } ],
                    yAxis : [ {
                        type : 'value',
                        scale : true,
                        name : '數量',
                        boundaryGap : [ 0.2, 0.2 ],
                        axisLabel : {
                            formatter : '{value} 條'
                        }
                    }, {
                        type : 'value',
                        scale : true,
                        name : '時間',
                        boundaryGap : [ 0.2, 0.2 ],
                        splitLine : {
                            show : false
                        },
                        axisLabel : {
                            formatter : '{value} ms'
                        }
                    } ],
                    dataZoom : [ {
                        show : true,
                        realtime : true,
                        start : 65,
                        end : 85
                    }, {
                        type : 'inside',
                        realtime : true,
                        start : 65,
                        end : 85
                    } ],
                    series : [ {
                        name : '數量',
                        type : 'bar',
                        data : data.nums
                    }, {
                        name : '時間',
                        type : 'line',
                        yAxisIndex : 1,
                        data : data.cost
                    } ]
                };
                myChart.setOption(option);
            },
            error : function(XMLHttpRequest) {
                $('#solrsumPanel').hideLoading();
                $('#solrsumPanel').msg({
                    type : 'danger',
                    text : "查詢資料出錯,請聯絡管理人員!"
                });
            }
        });
    }


    $(function() {
        drawsolr();
    });

    //一分鐘重新整理一次
    setInterval(function() {
        drawsolr();
    }, 60000);
</script>
</body>
</html>
json資料格式如下: