交互与联动
EvChart 的交互能力开箱即用:图例点选、tooltip、dataZoom 缩放、框选、多图联动、工具导出。绝大多数能力只在 options 里开字段,进阶控制走实例方法与事件。
图例:点选显隐与悬浮强调
多系列图表自动出现图例。legend.interactive 控制点选显隐(默认开启),position 支持 top / bottom,hoverEmphasis 控制悬浮时强调对应系列。
tooltip:悬浮提示
tooltip 控制 hover 提示框:trigger 支持 hover(默认)/ click,showAllSeries 让十字对齐的所有系列同时展示(默认行为),formatter 自定义文案。关闭则只看图形本身。
js
options.tooltip = {
show: true, // 默认开启
trigger: 'hover', // hover / click
showAllSeries: true, // 展示对齐的所有系列
formatter: (rows) => rows.map((r) => `${r.name}:${r.value}`).join('\n'),
}dataZoom:大数据量缩放
类目多、曲线密时开启 dataZoom:position 支持 bottom / top,start / end 设初始窗口(百分比),mouseWheel 开启滚轮缩放。拖动窗口或滚轮即可聚焦数据段。
框选
在直角坐标系图表上按住拖动可以框选一段数据,松开后触发 brush-select 事件(返回 startIndex / endIndex),适合做"圈选一段再钻取"的交互。
多图联动 connectGroup
给多张图相同的 connectGroup 分组名,图例显隐与缩放范围自动同步——运营看板里"点一次图例,上下两张图一起切"就是它。
工具箱 toolbox
toolbox: { show: true, filename } 在图表右上角提供导出 PNG 与恢复复位按钮,做报表导出场景够用;更精细的导出走实例方法 toDataURL / exportSVG。
事件
| 事件 | 触发时机 | 回调参数 |
|---|---|---|
ready | 首次渲染完成 | — |
click | 点击图形元素 | { seriesName, name, value, color, dataIndex, seriesIndex } |
hover / unhover | 悬浮进入 / 离开图形元素 | 同上 |
legend-click | 点击图例切换显隐 | (name, hidden) |
zoom | dataZoom 范围变化 | { start, end } |
brush-select | 框选完成 | { startIndex, endIndex } |
animation-end / data-update | 动画结束 / 数据补间更新完成 | — |
点击事件可以做钻取:点击柱子跳转到对应明细页,是中后台图表最常见的进阶用法。
常用实例方法
通过组件 ref 调用,完整列表见 API 参考:
| 方法 | 用途 |
|---|---|
update(newOptions) | 增量合并配置并重绘(同结构数据自动补间) |
toggleSeries(name) / getHiddenSeries() | 程序化切换系列显隐 |
highlightSeries(name) / clearHighlight() | 高亮某系列(跨图引导注意力) |
setDataZoomRange(start, end) | 程序化缩放(配合 zoom 事件做播放器) |
toDataURL() / exportSVG() | 导出位图 / 真矢量 SVG |
setTheme(theme) | 运行时切换主题 |
destroy() | 销毁实例与监听 |