Skip to content

Latest commit

 

History

History
240 lines (186 loc) · 7.8 KB

README.en-US.md

File metadata and controls

240 lines (186 loc) · 7.8 KB

简体中文 | English

S2

A practical visualization library for tabular analysis.

npm Version Version ci test status Coverage release-date

npm bundle size Discussions issues-helper License: MIT@AntV

S2 is a solution in multi-dimensional cross-analysis tables, which provides data-driven analysis table components. It supplements multi-dimensional analysis tables in the industry. By providing the core library, essential components, demo components and expansion capabilities, it allows developers to use it quickly and freely.

🏠 Homepage

homepage

✨ Features

  1. Multi-dimensional cross-analysis: Say goodbye to a single analysis dimension and fully embrace the free combination analysis of any dimension.
  2. High performance: It can support rendering in less than 8s under the total amount of millions of data and achieve second-level rendering through partial drilling.
  3. High scalability: Support any custom extensions (including but not limited to layout, style, interaction, data hook flow, etc.).
  4. Out of the box: Provide out-of-the-box React and Vue3 table components and supporting analysis components in different analysis scenarios. You only need a simple configuration to realize the table rendering of complex scenes quickly.
  5. High interaction: support rich interaction forms (single selection, circle selection, row selection, column selection, freeze line header, width and height dragging, custom interaction, etc.)

📦 Installation

$ npm install @antv/s2 --save
# yarn add @antv/s2 --save
# pnpm install @antv/s2 --save

🔨 Getting Started

1. Data Preparation

s2DataConfig
const s2DataConfig = {
  fields: {
    rows: ['province', 'city'],
    columns: ['type'],
    values: ['price'],
  },
  data: [
     {
      province: '浙江',
      city: '杭州',
      type: '笔',
      price: '1',
    },
    {
      province: '浙江',
      city: '杭州',
      type: '纸张',
      price: '2',
    },
    {
      province: '浙江',
      city: '舟山',
      type: '笔',
      price: '17',
    },
    {
      province: '浙江',
      city: '舟山',
      type: '纸张',
      price: '0.5',
    },
    {
      province: '吉林',
      city: '长春',
      type: '笔',
      price: '8',
    },
    {
      province: '吉林',
      city: '白山',
      type: '笔',
      price: '9',
    },
    {
      province: '吉林',
      city: '长春',
      type: ' 纸张',
      price: '3',
    },
    {
      province: '吉林',
      city: '白山',
      type: '纸张',
      price: '1',
    },
  ],
};

2. Options Preparation

const s2Options = {
  width: 600,
  height: 600,
}

3. Component Rendering

<div id="container"></div>
import { PivotSheet } from '@antv/s2';

const container = document.getElementById('container');

const s2 = new PivotSheet(container, s2DataCfg, s2Options);

s2.render();

4. Preview

result

📦 Packages

Package Latest Beta Alpha Next Size Download
@antv/s2 latest beta alpha next size download
@antv/s2-react latest beta alpha next size download
@antv/s2-vue latest beta alpha next size download

👤 Author

@AntV

🤝 Contributing

Contributions, issues and feature requests are welcome. Feel free to check issues page if you want to contribute.

S2 use pnpm as package manager

git clone git@github.com:antvis/S2.git

cd S2

pnpm install # or pnpm bootstrap

# build all
pnpm build

# debug s2-core
pnpm core:start

# debug s2-react
pnpm react:playground

# debug s2-vue
pnpm vue:playground

# unit test
pnpm test

# check the code style and the type definition
pnpm lint

# start the website
pnpm site:start

👁️ Insight

Alt

📧 Contact Us

S2

👬 Contributors

https://github.com/antvis/s2/graphs/contributors

📄 License

MIT@AntV.