如何自定义G2Plot图表

G2Plot提供了许多开箱即用的图形组件,但是也很难满足所有的用户的业务需要,因此G2Plot开放了Adaptor模式让用户自定义组件。举个简单的例子:

// 引入自定义扩展图表入口
import { P } from '@antv/g2plot';
// 自定义Column组件
import { adaptor, defaultOptions } from 'g2plot-column';

const plot = new P('container', {
  data, // 数据源
}, adaptor, defaultOptions);

plot.render();

定义Adaptor

Adaptor模式翻译过来叫适配器模式,G2Plot的adaptor由chartoptions构成。我们可以通过扩张options属性,通过adaptor来重写chart中的方法。举个简单的例子:

// 通过自定义options的xField,yField来自定data与x,y的映射关系
export function adaptor(params: Params): Params {
  const data = [
    {name:'tom',age:23}
    {name:'joe',age:24}
  ]
  const { chart, options } = params;
  const { xField,yField } = options;
  chart.data(data);
  chart.interval().position(`${xField}*${yField}`);
  return params;
}

你可能感兴趣的