@antv/g2-brush

Select a one-, two-dimensional or irregular region using the mouse.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@antv/g2-brush
2470.0.25 years ago5 years agoMinified + gzip package size for @antv/g2-brush in KB

Readme

g2-brush

npm package NPM downloads Percentage of issues still open

Install

$ npm install @antv/g2-brush

or use cdn:
<script src="https://gw.alipayobjects.com/os/antv/assets/g2-brush/0.0.1/g2-brush.js"></script>

Usage

First of all, the brush instance must be created after the chart be rendered.
import Brush from '@antv/g2-brush';
// ...
chart.render();

new Brush({
  canvas: chart.get('canvas'), // must be set
  chart, // if you want to filter data by default, please set the chart
  type: 'X', // set the brush type, default value is 'XY'
});

Example

online demos: https://antvis.github.io/g2-brush/demos/#

$.getJSON('./data/top2000.json', data => {
  const ds = new DataSet();
  const dv = ds.createView('test')
    .source(data)
    .transform({
      as: [ 'count' ],
      groupBy: [ 'release' ],
      operations: [ 'count' ],
      type: 'aggregate'
    });

  const chart = new G2.Chart({
    container: 'canvas',
    forceFit: true,
    height: window.innerHeight
  });
  chart.source(dv);
  chart.scale({
    count: {
      alias: 'top2000 唱片总量'
    },
    release: {
      tickInterval: 5,
      alias: '唱片发行年份'
    }
  });
  chart.interval()
    .position('release*count')
    .color('#e50000');

  chart.render();

  new Brush({
    canvas: chart.get('canvas'),
    chart,
    type: 'X',
    onBrushstart() {
      chart.hideTooltip();
    },
    onBrushmove() {
      chart.hideTooltip();
    }
  });
  chart.on('plotdblclick', () => {
    chart.get('options').filters = {};
    chart.repaint();
  });
});

API

API DOCS

Development

$ npm install

$ npm run dev

How to Contribute

Please let us know how can we help. Do check out issues for bug reports or suggestions first.
To become a contributor, please follow our contributing guide.