ECharts高级 动画的使用、交互API

黑马程序员官方
企业官方账号
2023-02-15 18:32:43

 1.1.动画的使用

1.1.1.加载动画

ECharts 已经内置好了加载数据的动画, 我们只需要在合适的时机显示或者隐藏即可

  • 显示加载动画
mCharts.showLoading()
一般, 我们会在获取图表数据之前 显示加载动画

 

  •  隐藏加载动画
mCharts.hideLoading()
一般, 我们会在获取图表数据之后 隐藏加载动画, 显示图表

1.1.2.增量动画

所有数据的更新都通过 setOption 实现, 我们不用考虑数据到底产生了那些变化, ECharts 会找到两组数据之间的差异然后通过合适的动画去表现数据的变化。

 

 

 

1.1.3.动画的配置
 

  • 开启动画

animation: true

  • 动画时长

animationDuration: 5000

  • 缓动动画

animationEasing : 'bounceOut'

linear ,线性变化, 这样动画效果会很均匀

bounceOut ,这样动画效果会有一个回弹效果

缓动动画的可选值如下图:

 

  • 动画阈值

animationThreshold: 8

单种形式的元素数量大于这个阈值时会关闭动画

1.2.交互API

1.2.1.全局echarts 对象

全局 echarts 对象是引入 echarts.js 文件之后就可以直接使用的

  • echarts.init

初始化ECharts实例对象

使用主题

  •  echarts.registerTheme

注册主题

只有注册过的主题,才能在init方法中使用该主题

  •  echarts.registerMap

  • echarts.connect
  1. 一个页面中可以有多个独立的图表
  2. 每一个图表对应一个 ECharts 实例对象
  3. connect 可以实现多图关联,传入联动目标为 EChart 实例,支持数组

 

 

这样, 由于我们打开了toolbox中的saveAsImage, 所以会出现下载图片的按钮. 而通过

echarts.connect([mCharts, mCharts2]) , 此时点击下载图片按钮, 保存下来的图片就是两个图

表的图片了.

1.2.2. echartsInstance 对象

eChartsInstance 对象是通过 echarts.init 方法调用之后得到的

  • echartsInstance.setOption

 设置或修改图表实例的配置项以及数据

多次调用setOption方法

合并新的配置和旧的配置

增量动画

  •  echartsInstance.resize

重新计算和绘制图表

一般和window对象的resize事件结合使用

window.onresize = function(){

myChart.resize();

}

  •  echartsInstance.on `echartsInstance.of`

绑定或者解绑事件处理函数

 鼠标事件

 ECharts 事件

 

常见事件:

legendselectchanged、'datazoom'、'pieselectchanged'、'mapselectchanged' 等

事件参数 arg: 和事件相关的数据信息

mCharts.on('legendselectchanged', function (arg) {

        console.log(arg)

        console.log('图例选择发生了改变...')

})

  • echartsInstance.dispatchAction

主动触发某些行为, 使用代码模拟用户的行为

 

  • echartsInstance.clear

        清空当前实例,会移除实例中所有的组件和图表

        清空之后可以再次 setOption

  • echartsInstance.dispose

        销毁实例

        销毁后实例无法再被使用
 

 往期文章:


 黑马前端专栏干货多多,关注再学,好方便~

2023年前端学习路线图:课程、源码、笔记,技术栈另外此线路图实时更新!需要课后资料的友友们,可以直接告诉我喔~

 

...全文
544 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文提出一种基于鱼鹰优化算法(OOA)优化的CNN-BiGUR-Attention混合模型,用于提升短期风电功率预测的精度与稳定性,采用Matlab实现代码仿真。该模型融合卷积神经网络(CNN)提取输入数据的局部空间特征,利用双向门控循环单元(BiGUR)捕捉风速、功率等时间序列的前后向动态依赖关系,并引入注意力机制自适应强化关键时间步的特征权重,从而增强模型对非平稳风电数据的表征能力;进一步,采用OOA算法对模型超参数进行全局寻优,有效提升模型收敛速度与泛化性能。研究基于实际风电场历史数据开展实验验证,结果表明,该方法相较传统模型在预测精度、鲁棒性和误差抑制方面表现更优,适用于高比例可再生能源接入背景下的电力系统调度需求。; 适合人群:从事新能源发电预测、电力系统优化调度、智能算法与深度学习融合应用等方向的科研人员及工程技术人员,尤其适合具备Matlab编程能力、熟悉时间序列建模与深度学习框架的研究者。; 使用场景及目标:①实现风电场短期功率高精度预测,支撑电网安全稳定调度与能量管理;②为深度学习模型结构设计与智能优化算法联合调参提供实践范例;③推动人工智能技术在可再生能源预测、智能电网运行等领域的落地应用。; 阅读建议:建议结合提供的Matlab代码深入理解CNN-BiGUR-Attention网络架构搭建、注意力机制实现方式及OOA优化流程,重点关注数据预处理、模型训练与参数调优细节,可通过替换不同风电数据集进行对比实验,进一步掌握模型迁移能力与适应性。

12,327

社区成员

发帖
与我相关
我的任务
社区描述
传智教育旗下高端IT教育品牌,中国“教育行业A股IPO第一股” 1100多位专职教研以及教学团队,已发教程12万余节,年均下载及播放量4000万余次。源码、教材、项目,均会放送。
mysql分布式架构 企业社区
社区管理员
  • 黑马程序员官方
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

传智教育旗下高端IT教育品牌,中国“教育行业A股IPO第一股” 1100多位专职教研以及教学团队,已发教程12万余节,年均下载及播放量4000万余次。源码、教材、项目,均会放送。

试试用AI创作助手写篇文章吧