Echarts折线图的平移假动画

#可视化项目中经常用图表的方式来展示数据,折线图是经常出现的,但是在echarts折线图中正常情况是通过删除数据的第一个,添加一个新数据在数组的末尾来实现动画,此动画会导致折线图的明显跳动,因此考虑用时间轴的方式来实现平滑过渡。


var dataUser =[];
var dataCount = [];function rand(a){let time = (new Date()).getTime() - 3600 * 1000 *  a;let value = Math.random() * 100;return {name: updateTime(time),value: [[updateTime(time),value]}
};function updateTime(timestamp) {let time;if(timestamp != null && timestamp != "" && timestamp != 0){time = timestamp+"";}let date = new Date(timestamp);let Y = date.getFullYear() + '-';let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';let D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' ';let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes() + ':');let s = date.getSeconds();return Y + M + D + h + m + s;}for(let i = 0 ;i<10;i++){dataUser.push( rand(i));dataCount.push( rand(i));}var option = {tooltip: {trigger: 'axis',axisPointer: {type: 'cross',label: {backgroundColor: '#6a7985'}}},legend: {data: ['在线人数', '访问次数'],right: '60px'},grid: {x: 50,y: 25,x2: 50,y2: 30,// borderWidth:1},dataZoom : [{type: 'slider',//图表下方的伸缩条show : false,  //是否显示realtime : true,  //start : 0,  //伸缩条开始位置(1-100),可以随时更改end : 100,  //伸缩条结束位置(1-100),可以随时更改xAxisIndex:[0],filterMode:'none'}],xAxis: [{type: 'time',boundaryGap: false,// data: [/*'周一','周二','周三','周四','周五','周六','周日'*/],splitLine: {show: false},splitNumber:12,axisLine: {lineStyle: {color: '#FFF'}},}],yAxis: [{type: 'value',name: '人',nameGap: 6,splitLine: {show: false}},{type: 'value',name: '次',nameGap: 6,splitLine: {show: false}}],series: [{name: '在线人数',type: 'line',color: '#0EDF99',smooth: true,showSymbol: false,areaStyle: {color: {type: 'linear',x: 0,y: 0,x2: 0,y2: 1,colorStops: [{offset: 0, color: 'rgb(66,255,251,1)' // 0% 处的颜色}, {offset: 1, color: 'rgb(66,255,251,0)' // 100% 处的颜色}],global: false // 缺省为 false}},data: dataUser},{name: '访问次数',type: 'line',color: '#42FFFB',smooth: true,showSymbol: false,yAxisIndex: 1,areaStyle: {color: {type: 'linear',x: 0,y: 0,x2: 0,y2: 1,colorStops: [{offset: 0, color: 'rgb(10,195,248,1)' // 0% 处的颜色}, {offset: 1, color: 'rgb(10,195,248,0)' // 100% 处的颜色}],global: false // 缺省为 false}},data:dataCount}]};let startNum  = 0;let endNum   = 40;setInterval(function(){startNum = startNum + 0.1;endNum = endNum + 0.1;if(endNum >=100){startNum = 0;endNum  = 40;}
myChart.dispatchAction({type: 'dataZoom',// 开始位置的百分比,0 - 100start: startNum,// 结束位置的百分比,0 - 100end: endNum});
}, 200);逻辑:通过定时器调用echarts的dispatchAction方法设置dataZoom的方式实现。

Echarts折线图的平移假动画相关推荐

  1. d3.js 教程 模仿echarts折线图

    今天我们来仿echarts折线图,这个图在echarts是折线图堆叠,但是我用d3改造成了普通的折线图,只为了大家学习(其实在简单的写一个布局就可以).废话不多说商行代码. 1 制作 Line 类 c ...

  2. echarts折线图默认显示最后一个点的数据

    echarts折线图默认显示最后一个点的数据 想要达到这种效果图如下: 如果你给折线图设置数据显示,那么要不就全部隐藏,要不就全部显示在折线上.实现指定点的显示就需要你自己去处理这个数据了. 方式有两 ...

  3. echarts折线图设置圆点_echarts 设置折线图单个数据小圆圈样式

    在使用echarts 折线图时,可能会遇到针对不同的数据显示不同的小圆点样式,经过查看echarts配置项,其中data中有一个value配置项选项,可以单独设置某一个数据的显示样式,具体使用方式如下 ...

  4. echarts 折线图折线从头开始

    在echarts折线图中,默认折线从刻度中心开始,我们为了图标的美观有时需要折线从头开始显示,一个配置项就可以轻松搞定. boundaryGap:false

  5. echarts折线图 折现下方显示阴影

    echarts折线图 折现下方显示阴影 实现echarts折现下方显示渐变阴影区域 代码: series: [{name: this.chartPropList[this.dataResource]. ...

  6. echarts折线图动态多条线

    echarts折线图配置项 由于工作中遇到的图表特别多,每次用过配置项总是想不起来,在这里记录一下,希望也可以帮到路过的你.话不多说我们上图: 左边的是设计稿,右边的是echarts的示例图,我们先找 ...

  7. e-charts折线图自适应外层div大小

    问题描述: 在tabs页签下使用e-charts折线图,切换tab页签e-charts折线图无法自适应外层div大小: 解决方案: 添加监听器监听浏览窗口变化,两种监听方法 window.addEve ...

  8. echarts折线图堆叠怎么设置_ECharts折线图堆叠设置为不堆叠的方法

    下图是ECharts折线图堆叠的官方源码,设置折线图不堆叠只需要将每一个stack的值设置为不一样的名称或者将stack属性删除即可. option = { title: { text: '折线图堆叠 ...

  9. echarts折线图填充颜色

    Echarts折线图填充颜色 let chart = echarts.init(document.getElementById('main'));chart.setOption({title: {te ...

最新文章

  1. SSM登陆拦截器实现
  2. 将Doc或者Docx文档处理成html的代码逻辑;统计word中的字数,段数,句数,读取word中文档内容的代码逻辑...
  3. 手机端自适应字体大小和元素宽度自适应
  4. 集合框架源码分析六之堆结构的实现(PriorityQueue)
  5. memcache在ThinkPHP中的使用1---PHP下安装memcache
  6. 混乱开发,既伤身体又伤感情
  7. nginx轻松搭建自己的flv流媒体服务器
  8. 6-14 Inspector s Dilemma uva12118(欧拉道路)
  9. 如何将知识图谱引入推荐系统?
  10. php大文件怎么排序去重,简单实现大文件的排序和去重
  11. 郭台铭“炮轰”微软;腾讯应用宝全面封禁多闪;波音更新飞行软件 | 极客头条...
  12. 计算机真有趣作文,真有趣作文10篇
  13. 静默安装Oracle19c软件与数据库
  14. 在Apple Watch上了解时间旅行
  15. PVR图像文件格式初探
  16. 数据分析案例之淘宝用户行为分析完整报告
  17. Android View详解(三) 视图状态及重绘流程分析
  18. LTE物理传输资源(3)-时频资源
  19. node-inspector调试node程序
  20. 网站 服务器 ftp地址,ftp服务器地址 登录ftp服务器的方式

热门文章

  1. Nanopi r4s usb网卡设置方法(MT7601U Wireless Adapter)
  2. Vue 实现页面一键截屏功能
  3. Completed 404 NOT_FOUND,Whitelabel Error Page
  4. 关于7Z自解压文件拆分,读取条目,复写,合并的功能
  5. 大数据职业理解_3大数据职业职位描述及其职业要求
  6. 一份不悔的爱情 魔兽中那些我们追过的橙色武器
  7. 马哥N46班第一次月考
  8. 基于SSM的校园运动会管理系统
  9. MATLAB 数学应用 微分方程 常微分方程 求解非刚性ODE
  10. HM编码器代码阅读(14)——帧间预测之AMVP模式(二)predInterSearch函数