selectX

概述

selectX 基于 x 通道上的数据进行筛选,选出符合范围或条件的数据子集。

selectX

使用场景

  • 峰值标注:标记折线图的最高/最低点

  • 首尾标注: 在时间序列中突出显示起点/终点

  • 分类标注: 对不同数据类别进行差异化标记

  • 趋势标注: 标记平均值、中位数等统计特征点

配置项

属性 描述 类型 默认值
groupBy 针对指定的通道进行分组 string | string[] series
selector 针对每个分组,指定对应的数据抽取操作 Selector first

selector

type Selector =
  | 'min' // 最小值
  | 'max' // 最大值
  | 'first' // 第一个值
  | 'last' // 最后一个值
  | 'mean' // 平均值
  | 'median' // 中位数
  | ((I: number[], V: number[]) => number[]); // 自定义选取函数

示例

如下所示,对不同的数据类型进行标注:

import { Chart } from '@antv/g2';

const chart = new Chart({
  container: 'container',
});
chart.options({
  width: 800,
  paddingLeft: 50,
  paddingRight: 100,
  data: {
    type: 'fetch',
    value: 'https://assets.antv.antgroup.com/g2/indices.json',
  },
  children: [
    // 折线标记配置
    {
      type: 'line',
      encode: {
        x: (d) => new Date(d.Date),
        y: 'Close',
        color: 'Symbol',
      },
      axis: {
        y: {
          title: '↑ Change in price (%)',
        },
      },
    },
    // 文本标注配置
    {
      type: 'text',
      encode: {
        x: (d) => new Date(d.Date),
        y: 'Close',
        series: 'Symbol',
        color: 'Symbol',
        text: 'Symbol',
      },
      transform: [
        {
          // 使用selectX 转换标记
          type: 'selectX',
          // 选择最后一个数据点
          selector: 'last',
        },
      ],
      style: {
        // 标注文本向右偏移12个像素
        dx: 12,
      },
      // 关闭文本的tooltip
      tooltip: false,
    },
  ],
});

chart.render();
全站搜索
文档与示例输入关键词开始搜索

输入关键词,查找文档、API 与示例

选择打开Esc关闭