groupX

groupYgroup 函数组的一个变种,专门用于对离散的 x 通道进行分组,并且对通道根据指定的 Reducer 进行聚合。等效于 channels = ['x']group,具体的使用方式和配置项与 group 函数相同。下面,只是针对 groupX 函数的使用场景和配置项进行说明。

配置项

属性 描述 类型 默认值
[channel] 输出到具体 mark 的 channel 数据的聚合方式 Reducer

有关 Reducer 的详细说明,请参考 group 函数的配置项。

示例

下面,我们展现个人群的年龄分布情况。我们使用 groupX 函数对数据进行分组,并且对 x 通道进行聚合,计算出每个 statepopulation 折线长度和分布情况。注意在对应的 mark 中有 transform 方法可以使用数据的变换。

import * as G2 from '@antv/g2';

const { Chart } = G2;
const chart = new Chart({
  container: 'container',
});

chart.options({
  type: 'view',
  coordinate: { transform: [{ type: 'transpose' }] },
  data: {
    type: 'fetch',
    value:
      'https://gw.alipayobjects.com/os/bmw-prod/b6f2ff26-b232-447d-a613-0df5e30104a0.csv',
  },
  children: [
    {
      type: 'link',
      transform: [{ type: 'groupX', y: 'min', y1: 'max' }],
      encode: { x: 'state', y: 'population' },
      style: { stroke: '#000' },
      scale: { y: { formatter: '.0%' } },
    },
    {
      type: 'point',
      encode: { x: 'state', y: 'population', shape: 'point', color: 'age' },
      scale: { color: { palette: 'spectral' } },
    },
  ],
});

chart.render();

说明:

  1. 在这个示例中,我们首先定义了一组销售数据 data,包含地区、年龄以及人口;
  2. 在上述代码中,transform 方法中使用了 groupX 类型的数据转换,按 x channel 对数据进行分组,‘y’ 和 ‘y1’ 分别取最小值和最大值;
  3. 分组后,数据会按照 x channel 的值进行聚合,计算出每个 statepopulation 折线长度;
  4. 最后通过 encode 方法将分组后的数据映射到图表的 xy 轴上进行点状渲染。
全站搜索
文档与示例输入关键词开始搜索

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

选择打开Esc关闭