<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ECharts</title>
<!-- 引入 echarts.js -->
<script src="echarts.min.js"></script>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 600px;height:400px;"></div>
<script>
var myChart = echarts.init(document.getElementById('main'));
//这是一个产生随机数的函数,相对独立
function randomData() {//返回的是json格式的数据,name对应横坐标,是时间,value又是一个数组
now = new Date(+now + oneDay);
// console.log(now);
value =100;
var minute=now.getMinutes()<10?'0'+now.getMinutes():now.getMinutes();
var second=now.getSeconds()<10?'0'+now.getSeconds():now.getSeconds();
return {
name: now.toString(),
value: [
[now.getFullYear(), now.getMonth(), now.getDate()].join('/')+" "+[now.getHours(),minute,second].join(':'),
value
]
}
}
var data = [];
var data_test;
var now = new Date();
var oneDay = 1000;
// var twoSecond = 2 * 1000;
var value = 100;
for (var i = 0; i < 100; i++) {
data.push(randomData());//先在其中放1000个数据
}
option = {
title: {
text: '烟气中CO浓度动态曲线'
},
tooltip: {//这部分与提示框有关,与Y坐标自适应无关
trigger: 'axis',
formatter: function (params) {//需要接收一个参数数组
params = params[0];
var date = new Date(params.name);//这个就是name,对应的是时间
return date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear() + ' : ' + params.value[1];
},
axisPointer: {
animation: true
}
},
xAxis: {
type: 'time',
splitLine: {
show: false
}
},
yAxis: {
type: 'value',
boundaryGap: [0, '100%'],
splitLine: {
show: true//代表横向分隔线
}
},
series: [{
name: '模拟数据',
type: 'line',
showSymbol: false,
hoverAnimation: false,
data: data
}]
};
myChart.setOption(option);
setInterval(function () {
//只改下面这段代码就行,主要还是修改数据来源函数,把随机产生变成服务器获得
data.shift();
data_test=randomData();
// console.log(JSON.stringify(data_test));
data.push(data_test);
myChart.setOption({
series: [{
data: data
}]
});
}, 1000);
</script>
</body>
</html>
- 1
- 2
前往页