折线滚动显示
代码块
import * as echarts from 'echarts';
var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;
option = {
title: {
text: 'Stacked Line'
},
tooltip: {
trigger: 'axis'
},
legend: {
data: [
'Email',
'Union Ads',
'Video Ads',
'Direct',
'Search Engine',
'Search Engine'
]
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
toolbox: {
feature: {
saveAsImage: {}
}
},
xAxis: {
type: 'category',
boundaryGap: false,
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun', 'Sat', 'Sun']
},
yAxis: {
type: 'value'
},
dataZoom: {
show: false,
type: 'slider',
startValue: 0,
// 数据窗口范围的结束数值(一页显示多少条数据)
endValue: 4
},
series: [
{
name: 'Email',
type: 'line',
stack: 'Total',
data: [120, 132, 101, 134, 90, 230, 210, 230, 210]
},
{
name: 'Union Ads',
type: 'line',
stack: 'Total',
data: [220, 182, 191, 234, 290, 330, 310, 230, 210]
},
{
name: 'Video Ads',
type: 'line',
stack: 'Total',
data: [150, 232, 201, 154, 190, 330, 410, 230, 210]
},
{
name: 'Direct',
type: 'line',
stack: 'Total',
data: [320, 332, 301, 334, 390, 330, 320, 230, 210]
},
{
name: 'Search Engine',
type: 'line',
stack: 'Total',
data: [820, 932, 901, 934, 1290, 1330, 1320, 230, 210]
}
]
};
setInterval(function () {
// 每次向后滚动一个,最后一个从头开始。
// 判断option.dataZoom.endValue是否等于总条数,从第一条开始循环滚动
if (option.dataZoom.endValue == 8) {
option.dataZoom.endValue = 5;
option.dataZoom.startValue = 0;
} else {
option.dataZoom.endValue = option.dataZoom.endValue + 1;
option.dataZoom.startValue = option.dataZoom.startValue + 1;
}
myChart.setOption(option);
}, 2000);
option && myChart.setOption(option);
例图: