echarts 3 動態顯示最近一天數據,以分爲單位獲取數據點

echarts 3 動態顯示最近一天數據,以分爲單位獲取數據點

實例代碼

<!DOCTYPE html>
<html style="height: 100%">
   <head>
       <meta charset="utf-8">
   </head>
   <body style="height: 100%; margin: 0">
       <div id="container" style="height: 100%"></div>
       <script type="text/javascript" src="./echarts.js"></script>
       <script type="text/javascript">
		var dom = document.getElementById("container");
		var myChart = echarts.init(dom);
		var app = {};
		option = null;
		
		function randomData() {
			now = new Date(+now + 60*1000); //下一個點獲取時添加的時間設置
			value = value + Math.random() * 21 - 10;   
			return {
				name: now.toString(),
				value: [now,Math.round(value)]
			}
		}
		var data = [];
		var now = new Date();
		var value = Math.random() * 1000;
		
		for (var i = 0; i < 24*60; i++) { //初始化有多少個點
			data.push(randomData());
		}
		
		option = {
		
			title: {
				text: '動態數據 + 時間座標軸'
			},
			
			tooltip: {
				trigger: 'axis',
				formatter: function (params) {
					params = params[0];           
					var date = new Date(params.name);           
					return date.getHours() + ':'  + date.getMinutes() +" "+date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear() + ' : ' + params.value[1]; //數據點現實的格式數據
				},
				axisPointer: {
					animation: false
				}
			},
			
			xAxis: {
				type: 'time',
				splitLine: {
					show: false
				}
			},
			
			yAxis: {
				type: 'value',
				boundaryGap: [0, '100%'],
				splitLine: {
					show: false
				}
			},
			
			series: [{
				name: '模擬數據',
				type: 'line',
				showSymbol: false,
				hoverAnimation: false,
				data: data
			}]
		};
		
		setInterval(function () {
			data.shift(); //數據不積累,來一個點,則不現實最後一個點,註釋則積累現實
			data.push(randomData());

			myChart.setOption({
				series: [{
					data: data
				}]
			});
		}, 1000);
		
		if (option && typeof option === "object") {
			myChart.setOption(option, true);
		}
       </script>
   </body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章