以下是 ECharts 图表支持的常见交互方式:
---
### 1. **数据区域缩放(Data Zoom)**
- **滑动条缩放**:通过滑动条手动调整显示的数据范围。
- **框选缩放**:按住 `Ctrl` + 鼠标左键拖拽框选区域进行局部放大。
- **滚轮缩放**:通过鼠标滚轮缩放图表(需配置 `dataZoom.type: 'inside'`)。
js
option = {
dataZoom: [
{ type: 'slider' }, // 滑动条
{ type: 'inside' } // 内置缩放(滚轮)
]
};
---
### 2. **图例切换(Legend Toggle)**
- 点击图例项可隐藏/显示对应的数据系列。
- 支持多选或单选模式。
---
### 3. **提示框(Tooltip)**
- **悬停显示**:鼠标悬停在数据点或轴上时,展示详细数据。
- **格式化内容**:自定义提示框的样式和显示内容。
js
tooltip: {
trigger: 'axis', // 触发方式('item' 或 'axis')
formatter: '{b}: {c}' // 自定义格式
}
---
### 4. **高亮与选中(Highlight & Select)**
- **鼠标悬停高亮**:自动高亮关联的数据系列。
- **点击选中**:通过配置 `selectedMode` 实现数据点的单选或多选。
js
series: [{
type: 'line',
selectedMode: 'multiple' // 允许多选
}]
---
### 5. **动态数据更新**
- 通过 `setOption` 方法实时更新数据和图表状态,实现动态交互。
js
myChart.setOption(newOption, { notMerge: true });
---
### 6. **事件监听(Events)**
- 监听用户行为(如点击、悬停),触发自定义逻辑:
- `'click'`:点击图表元素。
- `'mouseover'`:悬停事件。
- `'datazoom'`:缩放事件。
js
myChart.on('click', (params) => {
console.log('点击的数据索引:', params.dataIndex);
});
---
### 7. **工具箱(Toolbox)**
- 内置工具按钮,支持:
- **保存图片**:导出图表为图片。
- **数据视图**:查看原始数据表格。
- **重置**:恢复初始视图。
js
toolbox: {
feature: {
saveAsImage: {},
dataView: {},
restore: {}
}
}
---
### 8. **坐标轴交互**
- 拖动坐标轴标签调整显示范围(需配置 `axisPointer`)。
- 双指触摸缩放(移动端适配)。
---
通过组合以上功能,可以灵活实现图表的动态交互效果!