echart实现滑动曲线图
时间: 2024-12-26 21:19:32 浏览: 0
### 使用ECharts实现带有滑动效果的折线图
为了创建一个具有滚动或拖动功能的折线图,`dataZoom`组件是必不可少的一部分。此组件能够帮助用户聚焦于特定的数据范围或是查看更广泛的趋势[^2]。
下面是一份基于HTML和JavaScript的基础示例代码,它展示了如何利用ECharts库构建一个支持水平方向滚动手势操作的交互式折线图:
```html
<!DOCTYPE html>
<html style="height: 100%">
<head>
<!-- 引入 ECharts 文件 -->
<script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
</head>
<body style="height: 100%; margin: 0">
<!-- 准备好放置图表的 DOM 容器 -->
<div id="main" style="height: 100%"></div>
<script type="text/javascript">
// 初始化 echarts 实例
var myChart = echarts.init(document.getElementById('main'));
let option;
const xAxisData = [];
const data1 = [];
const data2 = [];
for (let i = 0; i < 500; i++) {
xAxisData.push(`类目${i}`);
data1.push((Math.sin(i / 5) * (i / 5 - 10) + i / 6) * 5);
data2.push((Math.cos(i / 5) * (i / 5 - 10) + i / 6) * 5);
}
option = {
tooltip: {
trigger: 'axis'
},
legend: {},
toolbox: {
feature: {}
},
dataZoom: [
{
type: 'inside',
start: 0,
end: 10
},
{
start: 0,
end: 10
}
],
xAxis: [
{
type: 'category',
boundaryGap: true,
data: xAxisData
}
],
yAxis: [
{
type: 'value'
}
],
series: [
{
name:'模拟数据1',
type:'line',
data:data1
},
{
name:'模拟数据2',
type:'line',
data:data2
}
]
};
option && myChart.setOption(option);
</script>
</body>
</html>
```
上述代码片段中定义了一个拥有大量分类项(即x轴上的标签)以及两条不同趋势线的时间序列可视化图形。通过配置`dataZoom`选项内的参数,使得该图表不仅可以在页面内直接通过鼠标滚轮或者手指触摸屏幕来进行缩放和平移操作,而且默认情况下只显示出整个时间跨度中的前百分之十部分[^4]。
阅读全文