Echarts動態載入資料
阿新 • • 發佈:2019-01-29
json資料格式如下:<!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>