《开源精选》是我们分享 Github、Gitee 等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个多维交叉分析表格领域的解决方案——S2。
S2 是 AntV 在多维交叉分析表格领域的解决方案,完全基于数据驱动的方式。通过提供底层能力库,基础组件,业务场景组件以及自由扩展的能力,让开发者基于自身场景自由选择,既能开箱即用,又能自由发挥。
特性
-
• 多维交叉分析: 告别单一分析维度,全面拥抱任意维度的自由组合分析。
-
• 高性能:能支持全量百万数据下 <8s 渲染,也能通过局部下钻来实现秒级渲染。
-
• 高扩展性:支持任意的自定义扩展(包括但不局限于布局,样式,交互,数据 hook 流等)。
-
• 开箱即用:提供不同分析场景下开箱即用的 react 表组件及配套分析组件,只需要简单的配置即可轻松实现复杂场景的表渲染。
-
• 可交互:支持丰富的交互形式(单选、圈选、行选、列选、冻结行头、宽高拖拽,自定义交互等)
快速上手
npm | yarn 安装
# npm
$ npm install @antv/s2
# yarn
$ yarn add @antv/s2
浏览器引入
如需兼容 IE,需要自行引入 polyfill 兼容。
<!-- 引入在线资源 -->
<script type="text/javascript" src="https://unpkg.com/@antv/s2@latest/dist/index.min.js"></script>
<!-- 下载到本地 引入本地脚本 -->
<script src="./dist/index.min.js"></script>
使用
创建 S2 表格有两种方式,基础类版本 (s2-core) 和 基于 core 层 封装的 React 版本。
core 版本:
https://github.com/antvis/S2/tree/master/packages/s2-core
react 版本:
https://github.com/antvis/S2/tree/master/packages/s2-react
-
1. 数据准备
const s2DataConfig = {
fields: {
rows: ['province', 'city'],
columns: ['type'],
values: ['price'],
},
data: [
{
province: "浙江",
city: "杭州",
type: "笔",
price: "1",
},
{
province: "浙江",
city: "杭州",
type: "纸张",
price: "2",
},
......
]
};
-
2. 配置项准备
const s2options = {
width: 600,
height: 600
}
-
3. 渲染
<div id="container"></div>
import { PivotSheet } from '@antv/s2';
const container = document.getElementById('container');
const s2 = new PivotSheet(container, s2DataConfig, s2options)
s2.render()
图表实例
分群下钻表
单人群占比表
指标对比表
多人群对比表
想如何度过一天
KPI 趋势表
混合字段标记
-END-
开源协议:MIT
开源地址:https://github.com/antvis/S2
原文始发于微信公众号(开源技术专栏):开源的高性能多维交叉表格分析工具
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/66093.html