echarts 时间曲线图_echarts 折线图动态x轴及数据
时间: 2023-07-26 11:18:20 浏览: 143
echarts 图表 折线图
您好,关于echarts时间曲线图和折线图动态x轴及数据的问题,我可以为您提供一些参考。
1. 时间曲线图
时间曲线图可以使用 echarts 的 line 和 time-line 组件实现。其中,line 组件用于绘制折线图,time-line 组件用于控制时间轴。
具体实现步骤如下:
1)引入 echarts 库和主题
```html
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.0/echarts.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.0/theme/dark.js"></script>
```
2)创建 echarts 实例
```javascript
var myChart = echarts.init(document.getElementById('main'), 'dark');
```
3)配置图表选项
```javascript
var option = {
// 设置图表标题
title: {
text: '时间曲线图',
left: 'center'
},
// 设置图表的工具箱
toolbox: {
show: true,
feature: {
dataZoom: {
yAxisIndex: 'none'
},
restore: {},
saveAsImage: {}
}
},
// 设置时间轴
timeline: {
axisType: 'category',
data: ['2010', '2011', '2012', '2013', '2014', '2015', '2016'],
autoPlay: true,
playInterval: 1000,
left: '10%',
right: '10%',
bottom: '3%',
width: '80%',
label: {
color: '#999'
},
controlStyle: {
showPrevBtn: true,
showNextBtn: true,
normal: {
color: '#999'
},
emphasis: {
color: '#666'
}
},
checkpointStyle: {
symbol: 'circle',
symbolSize: 8,
color: '#666',
borderWidth: 2,
borderColor: '#666'
},
itemStyle: {
normal: {
color: '#666'
},
emphasis: {
color: '#666'
}
}
},
// 设置坐标轴
xAxis: {
type: 'time',
splitLine: {
show: false
},
axisLine: {
lineStyle: {
color: '#999'
}
}
},
yAxis: {
type: 'value',
splitLine: {
show: false
},
axisLine: {
lineStyle: {
color: '#999'
}
}
},
// 设置数据
series: [{
name: '数据1',
type: 'line',
data: [
['2010-01-01', 100],
['2011-01-01', 200],
['2012-01-01', 300],
['2013-01-01', 400],
['2014-01-01', 500],
['2015-01-01', 600],
['2016-01-01', 700]
]
}, {
name: '数据2',
type: 'line',
data: [
['2010-01-01', 200],
['2011-01-01', 300],
['2012-01-01', 400],
['2013-01-01', 500],
['2014-01-01', 600],
['2015-01-01', 700],
['2016-01-01', 800]
]
}]
};
```
4)将配置项设置到 echarts 实例中
```javascript
myChart.setOption(option);
```
2. 折线图动态x轴及数据
折线图动态x轴及数据可以通过 echarts 的动态更新数据的方法实现。具体实现步骤如下:
1)定义一个空的数组变量
```javascript
var data = [];
```
2)使用定时器动态更新数据
```javascript
setInterval(function () {
// 获取当前时间
var now = new Date();
// 将当前时间转换为字符串
var time = [now.getHours(), now.getMinutes(), now.getSeconds()].join(':');
// 生成随机数
var value = Math.random() * 1000;
// 将时间和数据添加到数组中
data.push({
name: time,
value: value
});
// 控制数据长度不超过50个
if (data.length > 50) {
data.shift();
}
// 更新图表数据
myChart.setOption({
series: [{
data: data
}]
});
}, 1000);
```
以上就是关于 echarts 时间曲线图和折线图动态x轴及数据的简单介绍和实现方法,希望对您有所帮助。
阅读全文