ECharts两种动画效果完整代码

 更新时间:2023年07月28日 08:58:52   作者:ZHI_MO_WEN  
这篇文章主要给大家介绍了关于ECharts两种动画效果的相关资料,在做项目时当我们用到echarts图表时,大部分产品经理都会要求我们给图表加上一些动画效果,让页面看起来更加炫酷,需要的朋友可以参考下

加载动画:当数据第一次加载或切换数据集时,可以通过设置 animation 属性来展示加载动画,具体可以设置为 ‘auto’ 或者 true,这将启用默认的加载动画效果,也可以设置为一个对象,自定义加载动画的具体效果。例如:

option = {
    animation: true,
    ...
};

更新动画:当数据发生变化时,可以通过设置 animationDurationUpdate 和 animationEasingUpdate 属性来展示更新动画,这将在数据变化后自动执行动画,使得数据变化更加直观和平滑。例如:

option = {
    series: [{
        type: 'sankey',
        animationDurationUpdate: 1000, // 更新动画时长为 1s
        animationEasingUpdate: 'quinticInOut', // 更新动画缓动效果为 'quinticInOut'
        ...
    }]
    ...
};

在以上代码中,我们将 series 属性的 type 设置为 ‘sankey’,即表示创建一个桑基图,并通过 animationDurationUpdate 和 animationEasingUpdate 属性分别设置了更新动画的时长和缓动效果。这样,在数据发生变化时,桑基图将自动执行更新动画。需要注意的是,为了使用动画效果,需要将 ECharts 版本升级到 4.0 及以上版本。

完整代码如下:

HTML部分:

<div id="sankeyChart" style="height: 500px;"></div>

js:

// 初始化echarts实例
var myChart = echarts.init(document.getElementById('sankeyChart'));
// 配置项
var option = {
  tooltip: {
    trigger: 'item',
    triggerOn: 'mousemove'
  },
  series: {
    type: 'sankey',
    emphasis: {
      focus: 'adjacency'
    },
    nodeWidth: 20,
    data: [{
      name: 'A'
    }, {
      name: 'B'
    }, {
      name: 'C'
    }, {
      name: 'D'
    }, {
      name: 'E'
    }],
    links: [{
      source: 'A',
      target: 'B',
      value: 10
    }, {
      source: 'A',
      target: 'C',
      value: 15
    }, {
      source: 'B',
      target: 'D',
      value: 12
    }, {
      source: 'C',
      target: 'D',
      value: 8
    }, {
      source: 'C',
      target: 'E',
      value: 10
    }]
  }
};
// 显示加载动画
myChart.showLoading();
// 异步加载数据
setTimeout(function () {
  myChart.hideLoading();
  myChart.setOption(option);
}, 2000);
// 更新数据
setTimeout(function () {
  option.series.data.push({
    name: 'F'
  });
  option.series.links.push({
    source: 'D',
    target: 'F',
    value: 5
  });
  myChart.setOption(option);
}, 4000);

上述代码中,通过 showLoading() 方法来展示加载动画,在异步加载数据完成后,使用 hideLoading() 方法来隐藏加载动画并且调用 setOption() 方法来设置图表数据。然后,在延迟 4 秒后,使用 setOption() 方法来更新数据。最终效果是一个带有加载动画和更新动画的桑基图。

总结

到此这篇关于ECharts两种动画效果的文章就介绍到这了,更多相关ECharts动画效果内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • 基于JavaScript实现表格隔行换色

    基于JavaScript实现表格隔行换色

    这篇文章主要介绍了基于JavaScript实现表格隔行换色,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • JS 退出系统并跳转到登录界面的实现代码

    JS 退出系统并跳转到登录界面的实现代码

    这篇文章介绍了退出系统后跳转到登陆页面的简单JS代码,有需要的朋友可以参考一下
    2013-06-06
  • JS实现基数排序的示例代码

    JS实现基数排序的示例代码

    基数排序是一种根据数字位数的值,对整数进行排序的算法,本文主要介绍了JS实现基数排序的示例代码,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • Javascript使用uploadify来实现多文件上传

    Javascript使用uploadify来实现多文件上传

    本篇文章主要介绍了Javascript使用uploadify来实现多文件上传,具有一定的参考价值,有需要的可以了解一下。
    2016-11-11
  • js时间日期和毫秒的相互转换

    js时间日期和毫秒的相互转换

    js时间日期和毫秒的相互转换,需要的朋友可以参考一下
    2013-02-02
  • Vue使用Canvas绘制圆与半圆的示例详解

    Vue使用Canvas绘制圆与半圆的示例详解

    在 Canvas 中,基本图形包括直线图形和曲线图形,在我们的工作中,经常在统计图中会看到有饼状图等这样的圆弧图形,当然绘制曲线图形那么我们要知道曲线图形的绘制往往会涉及到曲线与弧线,所以本文就给大家介绍一下Canvas绘制圆与半圆的方法
    2023-08-08
  • JavaScript手机振动API

    JavaScript手机振动API

    现代浏览器里提供的新的API越来越倾向于移动手机应用,这篇文章主要为大家详细介绍了JavaScript手机振动API的相关资料,需要的朋友可以参考下
    2016-06-06
  • 一篇文章让你彻底搞懂js中的位置计算

    一篇文章让你彻底搞懂js中的位置计算

    js中有各种与位置相关的属性,每次看到的时候都各种懵逼,索性一次总结一下,这篇文章主要给大家介绍了关于js中位置计算的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-09-09
  • JavaScript创建对象的几种方式小结

    JavaScript创建对象的几种方式小结

    这篇文章主要介绍了 JavaScript 中创建对象的多种方式,包括字面量方式、构造函数方式、原型模式、() 方法、ES6 类,并分别说明了它们的特点和适用场景,强调在实际编程中要根据需求选择合适的方式以提高代码质量和性能,需要的朋友可以参考下
    2024-12-12
  • js剪切板应用clipboardData实例解析

    js剪切板应用clipboardData实例解析

    这篇文章主要为大家详细介绍了js剪切板应用clipboardData实例,并分享了四种实现方法,感兴趣的小伙伴们可以参考一下
    2016-05-05

最新评论