logo

S2

  • 使用文档
  • API 文档
  • 图表示例
  • 在线体验
  • 更新日志
  • 所有产品antv logo arrow
  • 2.x
  • 简介
  • 快速上手
  • 基础教程
    • 基本概念
      Updated
    • 表形态
      • 透视表
        Updated
      • 明细表
        Updated
    • 字段标记
      Updated
    • 小计总计
    • 排序
      • 基础排序
        Updated
      • 组内排序
        Updated
    • 主题配置
      Updated
    • Tooltip
      Updated
    • 数据格式化
      New
    • 多行文本
      New
    • 国际化
    • 分页
      New
  • 进阶教程
    • 单元格渲染类型
      • 链接
      • 图片
        New
      • 视频
        New
      • 迷你图表
      • 结合@antv/g2
      • 自定义渲染
    • 自定义
      • 自定义 Hook
        Updated
      • 自定义行列头分组
        New
      • 自定义 Icon
        Updated
      • 自定义单元格对齐方式
        Updated
      • 自定义单元格宽高
        Updated
      • 自定义排序操作
        Updated
      • 自定义折叠/展开节点
        New
    • 交互
      • 基础交互
        Updated
      • 自定义交互
      • 隐藏列头
        Updated
      • 行列宽高调整
        Updated
      • 合并单元格
      • 滚动
        Updated
      • 复制与导出
        New
      • 高亮/选中单元格
        New
    • 分析组件
      • 简介
        New
      • 高级排序
        Updated
      • 维度切换
        Updated
      • 导出
        Updated
      • 分页
        Updated
      • 维度下钻
        Updated
    • 表格组件
      • 编辑表
      • 趋势分析表
        Updated
    • 高清适配
      Updated
    • 获取表格实例
    • 表格自适应
    • 获取单元格数据
      Updated
    • 注册 AntV/G 插件
      New
    • 透视组合图
      Experimental
    • Vue 3.0 组件 (停止维护)
  • 扩展阅读
    • 数据流处理
      • 透视表
      • 明细表
    • 布局流程
      • 透视表
      • 明细表
    • 性能介绍
      Updated
  • 贡献指南
  • 常见问题
  • S2 2.0 升级指南

迷你图表

上一篇
视频
下一篇
结合@antv/g2

Resources

Ant Design
Galacea Effects
Umi-React 应用开发框架
Dumi-组件/文档研发工具
ahooks-React Hooks 库

社区

体验科技专栏
seeconfSEE Conf-蚂蚁体验科技大会

帮助

GitHub
StackOverflow

more products更多产品

Ant DesignAnt Design-企业级 UI 设计语言
yuque语雀-知识创作与分享工具
EggEgg-企业级 Node 开发框架
kitchenKitchen-Sketch 工具集
GalaceanGalacean-互动图形解决方案
xtech蚂蚁体验科技
© Copyright 2025 Ant Group Co., Ltd..备案号:京ICP备15032932号-38

Loading...

提示

阅读本章前,请确保已经对 S2 足够了解,并且熟悉 AntV/G 渲染引擎的相关内容。

如果纯文本的表格不够直观,S2 内置了 简单的 mini 图绘制。

数据格式

将普通数值替换成 { values: G2 图表数据 (Spec) }

{
- number: string
+ number: {
+ values: { ...G2 Spec }
+ }
}
const s2DataConfig = {
data: [
{
- number: 123,
+ number: {
+ values: {
+ type: 'line',
+ data: [
+ {
+ year: '2017',
+ value: -368,
+ },
+ ],
+ encode: { x: 'year', y: 'value' },
+ }
+ },
}
]
}

1. 绘制 mini 图表

S2 内置了几种简单的 mini 图形的绘制,无需依赖 G2 等专业图表库,适用于简单的展示场景。

1.1 数据准备

const s2DataConfig = {
fields: {
rows: ['province', 'city'],
columns: ['type', 'sub_type'],
values: ['number'],
},
data: [
// 用于绘制 mini 图的数据
{
province: '海南省',
city: '三亚市',
type: '家具',
sub_type: '桌子',
number: {
// 折线图
values: {
type: 'line',
data: [
{
year: '2017',
value: -368,
},
{
year: '2018',
value: 368,
},
{
year: '2019',
value: 368,
},
{
year: '2020',
value: 368,
},
{
year: '2021',
value: 268,
},
{
year: '2022',
value: 168,
},
],
encode: { x: 'year', y: 'value' },
},
},
},
{
province: '海南省',
city: '三亚市',
type: '家具',
sub_type: '沙发',
number: {
// 柱状图
values: {
type: 'bar',
data: [
{
year: '2017',
value: -368,
},
{
year: '2018',
value: 328,
},
{
year: '2019',
value: 38,
},
{
year: '2020',
value: 168,
},
{
year: '2021',
value: 268,
},
{
year: '2022',
value: 368,
},
],
encode: { x: 'year', y: 'value' },
},
},
},
{
province: '海南省',
city: '三亚市',
type: '办公用品',
sub_type: '笔',
number: {
// 多列文本
values: [
[3877, -4324, '42%'],
[3877, 4324, '-42%'],
],
},
},
{
province: '海南省',
city: '三亚市',
type: '办公用品',
sub_type: '纸张',
number: {
// 子弹图
values: {
type: 'bullet',
measure: 0.3,
target: 0.76,
},
},
},
],
};

1.2 自定义单元格

自定义 DataCell, 然后使用 drawCustomContent 接管绘制逻辑

import { DataCell, drawCustomContent } from '@antv/s2';
class CustomDataCell extends DataCell {
drawTextShape() {
// 当数值为对象时,完全接管绘制,使用内置的 `drawCustomContent` 根据不同的数据结构 (见下方) 绘制不同的图形
if (this.isMultiData()) {
drawCustomContent(this);
return;
}
// 如果是普通文本,则走默认的文本绘制逻辑
super.drawTextShape();
}
}
const s2Options = {
dataCell: (viewMeta, spreadsheet) => {
return new CustomDataCell(viewMeta, spreadsheet);
},
};

1.3 图表类型

提示

S2 内置了一些基于 AntV/G 简单的图形绘制能力,适用于轻量简单使用,不希望有额外依赖的场景。

  • line: 折线图
  • bar: 柱状图
  • bullet: 子弹图
{
number: {
values: {
measure: 0.3,
target: 0.76,
}
}
}
  • 多列文本
{
number: {
values: [
[3877, -4324, '42%'],
[3877, 4324, '-42%'],
]
}

1.4 效果

查看示例
preview

1.5 数据格式

功能描述:在单元格内绘制 mini 图(支持 折线图、子弹图、柱状图). 查看 文档 和 示例

BaseChartData

功能描述:内置折线图、柱状图数据配置项,数据格式参考 G2

参数说明类型必选默认值
typemini 图类型line | bar✓
encode编码方式,声明 x 位置通道或 y 位置通道绑定的对应的列数据{x: string; y: string}✓
data原始数据Data[]✓
[key: string]其他透传字段,用于自定义单元格的定制化展示unknown

BulletValue

功能描述:内置子弹图数据配置项

参数说明类型必选默认值
typemini 图类型bullet✓bullet
measure当前指标number | string✓
target目标值number | string✓
[key: string]其他透传字段,用于自定义单元格的定制化展示unknown