logo

Ant Design Charts

  • 教程
  • 选项
  • 图表示例
  • 所有产品antv logo arrow
  • 2.0.0
  • 📈 图表分类
  • 统计图表
    • 图表组成
    • 图表组件 - Component
      • 标题(Title)
      • 坐标轴(Axis)
      • 图例(Legend)
      • 滚动条(Scrollbar)
      • 缩略轴(Slider)
      • 提示信息(Tooltip)
      • 数据标签(Label)
    • 核心概念 - Core
      • 视图(View)
      • 数据(Data)
        • 概览
        • custom
        • ema
        • fetch
        • filter
        • fold
        • inline
        • join
        • kde
        • log
        • map
        • pick
        • rename
        • slice
        • sort
        • sortBy
      • 比例尺(Scale)
        • 概览
        • band
        • linear
        • log
        • ordinal
        • point
        • pow
        • quantile
        • quantize
        • sqrt
        • threshold
        • time
      • 转换(Transform)
        • 概览
        • bin
        • binX
        • diffY
        • dodgeX
        • flexX
        • group
        • groupColor
        • groupX
        • groupY
        • jitter
        • jitterX
        • jitterY
        • normalizeY
        • pack
        • sample
        • select
        • selectX
        • selectY
        • sortColor
        • sortX
        • sortY
        • stackEnter
        • stackY
        • symmetryY
      • 坐标系(Coordinate)
        • 概览
        • fisheye
        • parallel
        • polar
        • radial
        • theta
        • transpose
        • cartesian3D
      • 样式(Style)
      • 动画(Animate)
        • 概览
        • fadeIn
        • fadeOut
        • growInX
        • growInY
        • morphing
        • pathIn
        • scaleInX
        • scaleInY
        • scaleOutX
        • scaleOutY
        • waveIn
        • zoomIn
        • zoomOut
      • 状态(State)
      • 交互(Interaction)
        • 概览
        • brushAxisHighlight
        • brushHighlight
        • brushXHighlight
        • brushYHighlight
        • brushFilter
        • brushXFilter
        • brushYFilter
        • chartIndex
        • elementHighlight
        • elementHighlightByColor
        • elementHighlightByX
        • elementSelect
        • elementSelectByColor
        • elementSelectByX
        • fisheye
        • legendFilter
        • legendHighlight
        • poptip
        • scrollbarFilter
        • sliderFilter
      • 复合(Composition)
        • 概览
        • facetCircle
        • facetRect
        • repeatMatrix
        • spaceFlex
        • spaceLayer
        • timingKeyframe
      • 主题(Theme)
        • 概览
        • academy
        • classic
        • classicDark
      • 事件(Event)
      • 颜色映射(Color)
    • 专有配置 - Specal Plot
      • Area 面积图
      • Bar 条形图
      • CirclePacking 捆绑图
      • DualAxes 双轴图
      • Gauge 仪表盘
      • Line 折线图
      • Rose 玫瑰图
      • Sankey 桑基图
      • Scatter 散点图
      • Sunburst 旭日图
      • Treemap 矩阵树图
      • Venn 韦恩图
      • WordCloud 词云图
      • Column 柱状图
      • Pie 饼图
      • BidirectionalBar 对称条形图
      • Box 箱线图
      • Bullet 子弹图
      • Funnel 漏斗图
      • Heatmap 热力图
      • Histogram 直方图
      • Liquid 水波图
      • Radar 雷达图
      • Stock 股票图
      • Tiny 迷你图
      • Violin 小提琴图
      • Waterfall 瀑布图
      • RadialBar 玉珏图
  • 关系图组件
    • 总览
    • MindMap 思维导图
    • Fishbone 鱼骨图
    • IndentedTree 缩进树图
    • Dendrogram 生态树图
    • OrganizationChart 组织结构图
    • FlowGraph 流程图
    • FlowDirectionGraph 流向图
    • NetworkGraph 网络图
    • FAQ

概览

上一篇
样式(Style)
下一篇
fadeIn

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...

Ant Design Charts 中动画是可视化中很重要的一部分,可以提高可视化的表现力。动画可以声明在标记层级:

({
animate: {
enter: {
duration: 100,
delay: 10,
},
update: {},
},
});
{
"animate": {
"enter": {
"duration": 100,
"delay": 10
},
"update": {}
}
}

动画属性

标记是通过 mark.animate 指定动画属性的,一共有三个部分的动画可以指定:

  • enter - 新增的图形
  • update - 更新的图形
  • exit - 删除的图形

而每部分的动画有以下的属性:

  • type - 种类
  • duration - 持续时间
  • delay - 延迟时间
  • easing - 缓动函数
{
"animate": {
"enter": {
"duration": 1000
}
}
}

动画编码

在 Ant Design Charts 中动画属性可以作为一种通道,也可以编码数据。比如下面甘特图中,每个条的出现和持续时间是和数据线性相关的。

{
"coordinate": {
"transform": [
{
"type": "transpose"
}
]
}
}

分组动画

Ant Design Charts 也提供了 StackEnter 标记转换来实现分组动画,该标记转换会先将图形进行分组,然后将它们的出现时间和持续时间在空间上进行堆叠,从而实现依次出现的效果。

关键帧动画

上面的动画都是过渡动画,不涉及到数据的更新,Ant Design Charts 也提供了制作关键帧动画的能力。使用 chart.timingKeyframe 创建一个时间容器,用于放置一系列视图,它会对这些视图中有关系的图形元素应用平滑的过渡效果。而对应关系通过 key 和 groupKey 两个通道指定。

{
"attr": {
"duration": 1000,
"direction": "alternate",
"iterationCount": 2
},
"call": {
"0": "-",
"1": "F",
"2": "N",
"3": "-",
"4": "e",
"5": "-",
"6": "F",
"7": "N",
"8": "-",
"undefined": "finallyLoc"
}
}

时序动画

时序动画(timingSequence) 还在开发中,敬请期待。

开始使用

{
"animate": {}
}

选项

关于 animate API 的参数,有以下,主要 3 种动画场景(enter、update、exit)和 动画 5 个属性(type、duration、delay、easing、fill)的组合。

属性描述类型默认值
enterType动画类型Type
enterDuration动画持续时间 (ms)number
enterDelay延迟执行时间 (ms)number
enterEasing动画的缓动函数Easing
enterFill动画处于非运行状态时的展示效果Fill
updateType动画类型Type
updateDuration动画持续时间 (ms)number
updateDelay延迟执行时间 (ms)number
updateEasing动画的缓动函数Easing
updateFill动画处于非运行状态时的展示效果Fill
exitType动画类型Type
exitDuration动画持续时间 (ms)number
exitDelay延迟执行时间 (ms)number
exitEasing动画的缓动函数Easing
exitFill动画处于非运行状态时的展示效果Fill

动画类型 Type

动画类型 Type 本质是设置动画的方式,会影响的视觉属性。这里具体可以看对应的文档 Animation。当然也可以设置为 null,undefined,false,代表关闭动画。

缓动函数 Easing

缓动函数指定的是动画过程中,视觉属性变化的插值函数。支持以下内置缓动函数,来自 easings,也可以上这个网站预览动画缓动的效果。

constantacceleratedecelerateaccelerate-deceleratedecelerate-accelerate
linearease-in / inease-out / outease-in-out / in-outease-out-in / out-in
easein-sineout-sinein-out-sineout-in-sine
stepsin-quadout-quadin-out-quadout-in-quad
step-startin-cubicout-cubicin-out-cubicout-in-cubic
step-endin-quartout-quartin-out-quartout-in-quart
in-quintout-quintin-out-quintout-in-quint
in-expoout-expoin-out-expoout-in-expo
in-circout-circin-out-circout-in-circ
in-backout-backin-out-backout-in-back
in-bounceout-bouncein-out-bounceout-in-bounce
in-elasticout-elasticin-out-elasticout-in-elastic
spring / spring-inspring-outspring-in-outspring-out-in

除此之外,还可以通过 cubic-bezier(<number>, <number>, <number>, <number>) 自定义形如三次贝塞尔曲线的函数。以上部分内置函数也是通过它定义完成的,例如 ease-in-sine = cubic-bezier(0.47, 0, 0.745, 0.715)。

动画填充 Fill

该属性规定了图形在动画处于非运行状态(例如动画开始前,结束后)时的展示效果,可以参考 WebAPI 规范。支持以下值:

  • auto/none - 默认值,这意味着动画在第一帧开始前和最后一帧结束后都不会影响到图形的展示效果。例如在动画完成后图形会恢复到动画前状态,如果设置了 delay 在延迟期间也不会应用第一帧的效果。
  • forwards - 动画完成后停住,不恢复到初始状态
  • backwards - 动画开始前应用第一帧效果
  • both - 为 forwards 和 backwards 的组合效果