Skip to content
antvisPublic

About

⚡️ A practical visualization library for tabular analysis.

Topics

Resources

Contributing

Security policy

Stars

1.7k stars

Watchers

42 watching

Forks

Latest commit

 

History

2,106 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

language English | 简体中文

S2

A practical visualization library for tabular analysis.

npm latest version ci test status release date

npm bundle size GitHub discussions License: MIT@AntV contributors issues closed pr welcome Ask DeepWiki

S2 is a pure data-driven multi-dimensional cross-analysis table solution. It provides a core library, basic components, and business scenario components. With its high extensibility, developers can flexibly build complex table reports out of the box.

Homepage • Getting Started • Examples • Live DEMO

homepage

✨ Features

  • Multi-dimensional cross-analysis: Say goodbye to rigid analysis dimensions and embrace free combination of any dimensions.
  • High performance: Supports rendering millions of data points in under 8 seconds, and achieves sub-second rendering for drill-downs.
  • High extensibility: Supports custom extensions for layout, interaction, style, and data processing.
  • Out of the box: Provides production-ready React and Vue 3 components for various analysis scenarios. Simple configuration is all you need.
  • Rich interactions: Supports various interactions like selection (single, multi, range), freezing, resizing, and custom interactive behaviors.

🔨 Getting Started

Install via package manager:

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

After installation, prepare a DOM container for rendering and import the corresponding S2 API object.

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

async function bootstrap() {
  const container = document.getElementById('container');

  const s2DataConfig = await fetch('https://assets.antv.antgroup.com/s2/en-data-config.json')
    .then(r => r.json())

  const s2 = new PivotSheet(container, s2DataConfig, {
    width: 600,
    height: 400,
  });

  await s2.render();
}

bootstrap()

result

📦 Packages

Package Latest Size Download
@antv/s2 latest size download
@antv/s2-react latest size download
@antv/s2-react-components latest size download
@antv/s2-ssr latest size download
@antv/s2-vue latest size download

🖥️ Browser Compatibility

Edge
Edge
Firefox
Firefox
Chrome
Chrome
Safari
Safari
Edge last 2 versions last 2 versions last 2 versions

For @antv/s2-react and @antv/s2-vue, please refer to React JavaScript environment requirements and Vite browser compatibility.

👤 Author

@AntV

🤝 Contributing

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

S2 uses pnpm as the 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

👬 Contributors

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

Star History

Star History Chart

📄 License

MIT@AntV.

About

⚡️ A practical visualization library for tabular analysis.

Topics

Resources

Contributing

Security policy

Stars

1.7k stars

Watchers

42 watching

Forks

Releases

Packages

Used by

Contributors

Languages