请通过邮件订阅网站,随时获取最新动态!

# Interaction 交互

图表交互组件

# 内置交互

  • tooltip:鼠标在 chart 上移动时显示提示信息
  • legend-active:鼠标移动到图例选项时,图例项高亮,对应的图形高亮
  • legend-filter:分类图例的勾选
  • continuous-filter: 连续图例的过滤

tooltip

tooltip2

可以通过 Chart 上的配置项 defaultInteractions 更改内置的交互

<Chart
  scale={scale}
  height={500}
  data={source}
  autoFit
  defaultInteractions={['tooltip']} // 仅保留 tooltip
>
</Chart>

# 配置交互的两种方法

  • 在Chart组件上添加交互属性
  • 使用Interaction组件添加交互
<Interaction type="active-region"/>

# API配置


# type

可选 string default:

交互名称,所有的交互名称列表如下表。

交互名称 说明 效果
active-region 鼠标在画布上移动时对应位置的分类出现背景框
view-zoom 鼠标滚动时,图表内部缩放
element-active 鼠标移入图表元素(柱状图的柱子、点图的点等)时触发 active
element-selected 点击选中图表元素、再次点击取消,允许多选
element-single-selected 单选图表元素,下次点击允许取消
element-highlight 图表元素的高亮,是一部分图表元素高亮,另一部分变暗
element-highlight-by-x 高亮 x 值相同的 element,适用于分组的场景
element-highlight-by-color 高亮所有同颜色的 element,适用于层叠的场景
legend-filter 分类图例的数据过滤
legend-visible-filter 分类图例的图形过滤,点击图例对应的图形隐藏/显示,这个交互不会引起坐标轴的变化 (注意:由于内置了 legend-filter 交互,所以使用该交互时移除掉 legend-filter 交互)
continuous-filter 连续图例的数据过滤,数据过滤会导致坐标轴的变化
continuous-visible-filter 仅仅过滤图形,而不引起坐标轴的变化 (注意:由于内置了 continuous-filter 交互,所以使用该交互时移除掉 continuous-filter 交互 )
legend-active 图例项 active,对应的图表元素也 active
legend-highlight 图例项高亮,对应的图表元素也高亮
axis-label-highlight 坐标轴文本高亮,对应的图表元素也高亮

# config

可选 object default:

交互配置项,用于修改交互动作。

<Interaction
    type="tooltip"
    config={{ // 修改了原有的tooltip交互,改为点击时展示。
      start: [{ trigger: 'plot:click', action: 'tooltip:show' }],
    }}
  />

在交互语法中一个交互可以由多个交互环节组成,每个交互环节可以有多个触发和反馈,所以在配置交互时可以配置每个环节,每个环节都是数组,都有 trigger 和 action

交互环节:

  • showEnable:标识交互可以发生
  • start: 交互开始
  • processing: 交互持续
  • end: 交互结束
  • rollback: 回滚