echarts使用结合时间轴timeline动态刷新案例
1、echarts简介
ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。
ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。

2、使用案例
第一步:echarts初始化
第二步:定义option,
第三步:echarts加载option
echarts初始化:
var right_bottom_chart = echarts.init(document.getElementById("right_bottom"));
定义option
var getLBOptionConfig = function(data_res, monthArr , index){
            var data_arr = getDataArr(data_res);
            right_bottom_option = {
                    baseOption:{
                        timeline:{
                            axisType :'category',
                            orient:'vertical',
                            autoPlay :true,
                            playInterval :15000,
                            right: '5',
                            left:'320',
                            top:'0',
                            bottom:'0',
                            label:{
                                interval:0,
                                 formatter: function (item) {
                                        var str = item.split("-")[1];
                                        return parseInt(str)+'月';
                                    }
                            },
                            data:monthArr,
                            currentIndex : index,
                            controlStyle:{
                                showPlayBtn :false
                            }
                        }    
                    },
                    options:[
                          {
                title: {
                    text: '租赁人口',
                    textStyle:{
                        color:'#fff'
                    }
                },
                textStyle:{
                    color:'#B3E4A1'
                },
                grid: {
                },
                angleAxis: {
                    type: 'category',
                    data: cities,
                    axisLabel:{
                        show:true,
                        interval : 0
                    }
                },
                radiusAxis: {
                },
                polar: {
                },
                tooltip: {
                    show: true,
                    formatter: function (params) {
                        var id = params.dataIndex;
                        return cities[id] + '<br>最低:' + data_arr[id][0] + '<br>最高:' + data_arr[id][1] + '<br>平均:' + data_arr[id][2];
                    }
                },
                series: [{
                    type: 'bar',
                    itemStyle: {
                        normal: {
                            color: 'transparent'
                        }
                    },
                    data: data_arr.map(function (d) {
                        return d[0];
                    }),
                    coordinateSystem: 'polar',
                    stack: '最大最小值',
                    silent: true
                }, {
                    type: 'bar',
                    data: data_arr.map(function (d) {
                        return d[1] - d[0];
                    }),
                    coordinateSystem: 'polar',
                    name: '价格范围',
                    stack: '最大最小值'
                }, {
                    type: 'bar',
                    itemStyle: {
                         normal: {
                             color: 'transparent',/*设置bar为隐藏,撑起下面横线*/
                         }
                    },
                    data: data_arr.map(function (d) {
                        return d[2];
                    }),
                    coordinateSystem: 'polar',
                    stack: '均值',
                    silent: true,
                    barGap: '-100%',
                    z: 10
                }, {
                    type: 'bar',
                    itemStyle: {
                         normal: {
                             color: 'green',/*设置bar为隐藏,撑起下面横线*/
                         }
                    },
                    data: data_arr.map(function (d) {
                        return 8;
                    }),
                    coordinateSystem: 'polar',
                    name: '均值',
                    stack: '均值',
                    barGap: '-100%',
                    z: 10
                }]
            }]
            }
            right_bottom_option.options=[];
            monthArr.forEach(function(n){
                right_bottom_option.options.push(getTemplate(data_arr));
            });
        return right_bottom_option;
        };
echarts加载option:
right_bottom_chart.setOption(LBoption,true);
时间轴代码片:
 timeline:{
                            axisType :'category',
                            orient:'vertical',
                            autoPlay :true,
                            playInterval :15000,
                            right: '5',
                            left:'320',
                            top:'0',
                            bottom:'0',
                            label:{
                                interval:0,
                                 formatter: function (item) {
                                        var str = item.split("-")[1];
                                        return parseInt(str)+'月';
                                    }
                            },
                            data:monthArr,
                            currentIndex : index,
                            controlStyle:{
                                showPlayBtn :false
                            }
                        }    
时间轴时间监听:
right_bottom_chart.on('timelinechanged', function (timeLineIndex) {
				  var month_str = monthArr[timeLineIndex.currentIndex];
				  if(month_str){
					    loadRightBottomCON(right_bottom_chart, month_str, timeLineIndex.currentIndex);
				  }
	});
抽取模板
var getTemplate = function(data_arr){
            return  {
                title: {
                    text: '租赁人口',
                    textStyle:{
                        color:'#fff'
                    }
                },
                textStyle:{
                    color:'#B3E4A1'
                },
                grid: {
                },
                angleAxis: {
                    type: 'category',
                    data: cities,
                    axisLabel:{
                        show:true,
                        interval : 0
                    }
                },
                radiusAxis: {
                },
                polar: {
                },
                tooltip: {
                    show: true,
                    formatter: function (params) {
                        var id = params.dataIndex;
                        return cities[id] + '<br>最低:' + data_arr[id][0] + '<br>最高:' + data_arr[id][1] + '<br>平均:' + data_arr[id][2];
                    }
                },
                series: [{
                    type: 'bar',
                    itemStyle: {
                        normal: {
                            color: 'transparent'
                        }
                    },
                    data: data_arr.map(function (d) {
                        return d[0];
                    }),
                    coordinateSystem: 'polar',
                    stack: '最大最小值',
                    silent: true
                }, {
                    type: 'bar',
                    data: data_arr.map(function (d) {
                        return d[1] - d[0];
                    }),
                    coordinateSystem: 'polar',
                    name: '价格范围',
                    stack: '最大最小值'
                }, {
                    type: 'bar',
                    itemStyle: {
                         normal: {
                             color: 'transparent',/*设置bar为隐藏,撑起下面横线*/
                         }
                    },
                    data: data_arr.map(function (d) {
                        return d[2];
                    }),
                    coordinateSystem: 'polar',
                    stack: '均值',
                    silent: true,
                    barGap: '-100%',
                    z: 10
                }, {
                    type: 'bar',
                    itemStyle: {
                         normal: {
                             color: 'green',/*设置bar为隐藏,撑起下面横线*/
                         }
                    },
                    data: data_arr.map(function (d) {
                        return 8;
                    }),
                    coordinateSystem: 'polar',
                    name: '均值',
                    stack: '均值',
                    barGap: '-100%',
                    z: 10
                }]
            };
        }
挥一挥衣袖,不带走一片云彩

echarts使用结合时间轴timeline动态刷新案例的更多相关文章
- 时间轴 timeline
		时间轴 timeline https://www.helloweba.net/javascript/285.html https://www.helloweba.net/demo/v_timeline ... 
- Alamofire源码解读系列(十二)之时间轴(Timeline)
		本篇带来Alamofire中关于Timeline的一些思路 前言 Timeline翻译后的意思是时间轴,可以表示一个事件从开始到结束的时间节点.时间轴的概念能够应用在很多地方,比如说微博的主页就是一个 ... 
- 横向、纵向时间轴timeline系列
		近期移动端项目用到了很多时间轴.纵向的.开始可以实现,但是不利于维护.整理下, 以作为备份留存学习参考.子元素的 标签的 :before实现圆点,:after实现边线border纵向时间轴,单一右边内 ... 
- SharePoint 中时间轴 Timeline的实现
		客户需要在OA中实现每日动态功能,能够记录每一位员工的每天的工作动态,我很快想到了时间轴,因为时间轴能很直观的现实员工每一刻的动态.就像Facebook的Timeline效果(点击查看). 尝试着搜索 ... 
- 超酷的JavaScript叙事性时间轴(Timeline)类库
		在线演示 Timeline 是我见过的最酷的展示事件随时间发展的javascript实现.你可以基于时间使用讲故事的方式来创建时间轴特效,整个时间轴以幻灯的方式来展示,你可以穿插图片,视频或者是网站, ... 
- echarts 地图与时间轴混搭
		//常量定义public class Constant { public static Integer PM_YEAR_NO = 5; } //action public class ZhiBiaoP ... 
- JQuery时间轴timeline插件的学习-Lateral On-Scroll Sliding with jQuery+technotarek / timeliner
		一.Lateral On-Scroll Sliding with jQuery的使用 View demo Download source 1. HTML结构 <div id=" ... 
- Android 时间轴TimeLine
		代码:这里 
- ECharts实例开发学习笔记二——时间轴
		记录一下ECharts时间轴的使用,首先是照着官方的示例做一遍,在这里不要忘了引入timelineOption.js,后面介绍如何动态创建时间轴的记录数,即根据需求可伸缩显示有多少天或者年月等轴标记数 ... 
随机推荐
- shell编程系列21--文本处理三剑客之awk中数组的用法及模拟生产环境数据统计
			shell编程系列21--文本处理三剑客之awk中数组的用法及模拟生产环境数据统计 shell中的数组的用法: shell数组中的下标是从0开始的 array=("Allen" & ... 
- 一、postman简介
			一.场景 1.开发接口的时候需要快速的调用接口,以便调试 2.测试的时候需要非常方便的调用接口,通过不同的参数去测试接口的输出 3.这些接口调用是需要保存下来的反复运行的 4.在运行过程中如果有断言( ... 
- Python3基础 str : 对字符串进行切片
			Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ... 
- 算法习题---5.9数据库(Uva1592)
			一:题目 对数据库中数据进行检测,是否出现数据冗余现象.即是否某一列出现两个及以上数据重复 如上图中,第二列中第2,3行数据重复,所以我们判断为数据冗余.因为他可以分解为下面两张表 (一)样例输入 H ... 
- pandas绘制矩阵散点图(scatter_matrix)的方法
			以 sklearn的iris样本为数据集 import matplotlib.pyplot as plt from scipy import sparse import numpy as np imp ... 
- 转 Java连接Oracle数据库的简单示例
			https://www.cnblogs.com/joyny/p/11176643.html https://community.oracle.com/thread/4096458 import jav ... 
- Win10安装Golang
			首先去这个网站下载Golang的安装包:https://studygolang.com/dl 因为我的系统是Win10专业版64位,所以我选择了对应的Windows的安装包进行下载: 下载好安装包之后 ... 
- List的 Select()使用方法 Demo
			List的 Select()使用方法 用List存储对象,代码如下: IList<Student> studentList = new List<Student>(); ;i& ... 
- 【Leetcode_easy】970. Powerful Integers
			problem 970. Powerful Integers solution: class Solution { public: vector<int> powerfulIntegers ... 
- jQuery 控制網頁捲軸移動 & Ignore link '#' method jump action
			$('a.gotoheader').click(function(){ // 讓捲軸移動到 0 的位置 $(); // ignore link "#" method return ... 
