使用JavaScript写一个echarts程序,实现数据可视化动态显示,横坐标为不断更新的时间,纵坐标为随机生成的数据
时间: 2024-02-20 14:01:47 浏览: 135
好的,以下是一个简单的 JavaScript ECharts 数据可视化动态显示程序:
```javascript
// 初始化 ECharts 实例
var myChart = echarts.init(document.getElementById('main'));
// 定义横坐标时间数组和纵坐标数据数组
var dataTime = [];
var dataValue = [];
// 定义随机生成数据函数
function randomData() {
return Math.round(Math.random() * 1000);
}
// 动态更新数据
setInterval(function () {
// 获取当前时间
var now = new Date();
// 将时间加入时间数组
dataTime.push(now.toLocaleTimeString().replace(/^\D*/,''));
// 将随机生成的数据加入数据数组
dataValue.push(randomData());
// 限制数据数组最大长度为 20
if (dataTime.length > 20) {
dataTime.shift();
dataValue.shift();
}
// 更新图表
myChart.setOption({
title: {
text: '动态数据',
left: 'center'
},
tooltip: {
trigger: 'axis',
axisPointer: {
animation: false
}
},
xAxis: {
type: 'category',
boundaryGap: false,
data: dataTime
},
yAxis: {
type: 'value',
boundaryGap: [0, '100%']
},
series: [{
name: '数据',
type: 'line',
data: dataValue,
animation: false,
smooth: true,
areaStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0,
color: 'rgba(255, 158, 68, 0.1)'
}, {
offset: 1,
color: 'rgba(255, 158, 68, 0.5)'
}])
},
lineStyle: {
color: 'rgb(255, 70, 131)'
},
itemStyle: {
color: 'rgb(255, 70, 131)'
}
}]
});
}, 1000);
```
以上代码会每秒钟更新一次图表数据,将当前时间加入时间数组,将随机生成的数据加入数据数组,限制数据数组最大长度为 20,并更新图表。其中 `echarts.init(document.getElementById('main'))` 会初始化一个 ECharts 实例,将其绑定到 HTML 中的一个元素上,这里元素的 id 为 `main`。`setInterval` 会每秒钟调用一次函数,将新的数据更新到图表中。
这段代码可以在 HTML 中放置以下代码来实现:
```html
<div id="main" style="width: 600px;height:400px;"></div>
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/4.9.0/echarts.min.js"></script>
<script>
// 以上 JavaScript 代码
</script>
```
以上代码使用了 ECharts 官方提供的 CDN 引入了 ECharts 库,使得我们可以直接在代码中使用 ECharts 相关的类和方法。
阅读全文