简介
在前面的里面已经讨论过行为的触发和 G2 提供的交互语法,但是从更细的粒度去分析各种概念和之间的关系:
- 事件,触发行为的事件
- 行为,用户的操作
- 元素,操作的元素,图形、组件等
- 结果,操作的结果,主要是数据操作
各个概念
事件
G2 目前支持的所有的事件:
行为
用户的行为是指用户在图表上完成的一个操作,包括行为的触发、持续和结束,下面是整理的列表:
- active:移动在单个图形上的响应,
- select: 选中某个图形,可以保持这个选中状态
- highlight: 高亮图形,其他的变暗
- brush: 框选功能,使用刷子进行区域选择
- drag: 拖拽,移动端的滑动 pan、swip
- zoom: 缩放, 移动端 pinch
元素
那些图形元素可以出发事件,产生行为:
- geometry : 数据对应的图形
- axis:坐标轴上的所有元素,轴线、文本、栅格线
- legend:图例项上的各种元素
- guide:各种辅助元素
- label:数据的文本
- 交互组件:交互过程中出现的辅助组件,框选框
- tooltip:各种提示信息
结果
行为的后果,主要是对数据造成的影响:
- filter:数据过滤
- sort: 排序
- update:更新
- remove: 移除
- corelation:同时高亮、同时过滤等
- look up:上取
- drill down:下钻
关系
目标和事件
上面的事件中已经列出了目标和事件之间的关系。
目标和行为
那些目标可以触发什么样的行为
行为和行为
行为之间会互相影响,执行完一个行为后的结果可以作为另外一个行为的输入,例如:
- 框选 (brush) 元素时会触发 highlight,结束时会触发选中 (select)
- 选中节点后,可以进行拖拽
行为和结果
用户行为会引起数据发生变化,例如框选(brush) 图形后进行过滤(filter)
总结
上面列出了交互的各种元素,以及各自之间的关系,对于G2 的作用:
- 限定了交互的范围
- 确定了元素 -> 事件,事件-> 行为,行为->行为,元素-> 行为,行为-> 结果之间的关系
如何在 G2 中能够实现上面的所有功能,这些都是需要在 4.0 中解决的