加载动画

在echarts还没有数据的时候,echarts呈现出来的效果
echarts中已经内置好了加载数据的动画,我们只需要在合适的时机怼这些数据进行显示和隐藏即可
获取数据成功之前要显示加载动画,获取数据成功后要隐藏加载动画

显示加载动画

mCharts.showLoading()

隐藏加载动画

mCharts.hideLoading()
image.png

增量动画

当图表已经展示出来了,但是后面数据发生了变动,这个时候图表对于数据的变化而产生的动画效果就是增量动画
mCharts.setOption

修改数据

  1. <body>
  2. <div id="main" style="width:600px; height: 400px;"></div>
  3. <button id="modify">修改数据</button>
  4. <!-- <div ></div> -->
  5. <script>
  6. var myCharts = echarts.init(document.getElementById('main'))
  7. var xDataArr = ['张三', '李四', '王五', '闰土', '小明', '茅台', '二妞', '大强']
  8. var yDataArr = [88, 92, 63, 77, 94, 80, 72, 86]
  9. var option = {
  10. xAxis: {
  11. type: 'category',
  12. // type:'value',
  13. data: xDataArr
  14. },
  15. yAxis: {
  16. type:'value',
  17. // type: 'category',
  18. data: yDataArr
  19. },
  20. series: [
  21. {
  22. name: '语文',
  23. type: 'bar',
  24. data: yDataArr,
  25. // 通过这个就把这些学生中的得分最高和得分最低的同学标记出来了
  26. markPoint: {
  27. data: [
  28. {
  29. type: 'max',
  30. name: '最大值'
  31. },
  32. {
  33. type: 'min',
  34. name: '最小值'
  35. }
  36. ]
  37. },
  38. markLine: {
  39. data: [
  40. {
  41. name: '平均分',
  42. type: 'average'
  43. }
  44. ]
  45. },
  46. label: {
  47. show: true,
  48. position: 'top',
  49. rotate: 60
  50. },
  51. barWidth: '50%'
  52. }
  53. ]
  54. }
  55. myCharts.setOption(option)
  56. // 对id为modify的标签进行监听
  57. var btnModify = document.querySelector('#modify')
  58. // 点击这个标签,数据就发生了变化
  59. btnModify.onclick = function () {
  60. // 新的数据
  61. var newYDataArr = [88, 32, 99, 77, 94, 80, 72, 86]
  62. // 重新写option,重新绘图
  63. var option = {
  64. xAxis: {
  65. type: 'category',
  66. // type:'value',
  67. data: xDataArr
  68. },
  69. yAxis: {
  70. type:'value',
  71. // type: 'category',
  72. //data: newYDataArr
  73. },
  74. series: [
  75. {
  76. name: '语文',
  77. type: 'bar',
  78. data: newYDataArr,
  79. // 通过这个就把这些学生中的得分最高和得分最低的同学标记出来了
  80. markPoint: {
  81. data: [
  82. {
  83. type: 'max',
  84. name: '最大值'
  85. },
  86. {
  87. type: 'min',
  88. name: '最小值'
  89. }
  90. ]
  91. },
  92. markLine: {
  93. data: [
  94. {
  95. name: '平均分',
  96. type: 'average'
  97. }
  98. ]
  99. },
  100. label: {
  101. show: true,
  102. position: 'top',
  103. rotate: 60
  104. },
  105. barWidth: '50%'
  106. }
  107. ]
  108. }
  109. myCharts.setOption(option)
  110. }
  111. </script>
  112. </body>

image.png
image.png

简单写法
image.png
注意:绘制图像的函数setOption可以写设置多次,每次设置都会对应一个新的option,新旧option并不是相互覆盖的关系,是相互整合的关系,所以在设置新的option的时候只需要考虑到变化的部分就可以了,不需要把配置项option中没有被修改的内容 也重新写一遍

增加数据

image.png

动画的配置项

这些配置是设置给option的

开启动画

animation:true

动画时长(毫秒为单位)

animationDuration:5000,设置为5000,就说明动画展开的事件为5s
除此之外animationDuration还可以对应一个回调函数
image.png

缓慢动画

animationEasing

属性值

linner

代表动画进行的比较均匀

bounceOut

动画带有回弹的效果

动画阈值

animationThreshold
单中形式的元素数量如果大于这个阈值的话就会关闭动画