ECharts实例开发学习笔记二——时间轴
记录一下ECharts时间轴的使用,首先是照着官方的示例做一遍,在这里不要忘了引入timelineOption.js,后面介绍如何动态创建时间轴的记录数,即根据需求可伸缩显示有多少天或者年月等轴标记数。
官网demo:
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
- <title>a</title>
- <style>
- body{background-color:#000000}
- </style>
- </head>
- <body>
- <div id="main" style="height:500px;width: 100%; margin-left: 0px;float: left;"></div>
- <!-- 本地引入ECharts,'js/dist/'本地文件路径下 -->
- <script src="http://echarts.baidu.com/build/dist/echarts.js"></script>
- <script src="http://echarts.baidu.com/doc/example/timelineOption.js"></script>
- <script type="text/javascript">
- // 路径配置,'./js/dist'本地文件路径
- require.config({
- paths: {
- echarts: 'http://echarts.baidu.com/build/dist'
- }
- });
- require(
- [
- 'echarts',
- 'echarts/chart/line', // 按需加载所需图表,如需动态类型切换功能,别忘了同时加载相应图表
- 'echarts/chart/bar'
- ],
- function (ec) {
- var myChart = ec.init(document.getElementById('main'));
- option = {
- timeline:{
- data:[
- '2002-01-01','2003-01-01','2004-01-01','2005-01-01','2006-01-01',
- '2007-01-01','2008-01-01','2009-01-01','2010-01-01','2011-01-01'
- ],
- label : {
- formatter : function(s) {
- return s.slice(0, 4);
- }
- },
- autoPlay : true,
- playInterval : 1000
- },
- options:[
- {
- title : {
- 'text':'2002全国宏观经济指标',
- 'subtext':'数据来自国家统计局'
- },
- tooltip : {'trigger':'axis'},
- legend : {
- x:'right',
- 'data':['GDP','金融','房地产','第一产业','第二产业','第三产业'],
- 'selected':{
- 'GDP':true,
- '金融':false,
- '房地产':true,
- '第一产业':false,
- '第二产业':false,
- '第三产业':false
- }
- },
- toolbox : {
- 'show':true,
- orient : 'vertical',
- x: 'right',
- y: 'center',
- 'feature':{
- 'mark':{'show':true},
- 'dataView':{'show':true,'readOnly':false},
- 'magicType':{'show':true,'type':['line','bar','stack','tiled']},
- 'restore':{'show':true},
- 'saveAsImage':{'show':true}
- }
- },
- calculable : true,
- grid : {'y':80,'y2':100},
- xAxis : [{
- 'type':'category',
- 'axisLabel':{'interval':0},
- 'data':[
- '北京','\n天津','河北','\n山西','内蒙古','\n辽宁','吉林','\n黑龙江',
- '上海','\n江苏','浙江','\n安徽','福建','\n江西','山东','\n河南',
- '湖北','\n湖南','广东','\n广西','海南','\n重庆','四川','\n贵州',
- '云南','\n西藏','陕西','\n甘肃','青海','\n宁夏','新疆'
- ]
- }],
- yAxis : [
- {
- 'type':'value',
- 'name':'GDP(亿元)',
- 'max':53500
- },
- {
- 'type':'value',
- 'name':'其他(亿元)'
- }
- ],
- series : [
- {
- 'name':'GDP',
- 'type':'bar',
- 'markLine':{
- symbol : ['arrow','none'],
- symbolSize : [4, 2],
- itemStyle : {
- normal: {
- lineStyle: {color:'orange'},
- barBorderColor:'orange',
- label:{
- position:'left',
- formatter:function(params){
- return Math.round(params.value);
- },
- textStyle:{color:'orange'}
- }
- }
- },
- 'data':[{'type':'average','name':'平均值'}]
- },
- 'data': dataMap.dataGDP['2002']
- },
- {
- 'name':'金融','yAxisIndex':1,'type':'bar',
- 'data': dataMap.dataFinancial['2002']
- },
- {
- 'name':'房地产','yAxisIndex':1,'type':'bar',
- 'data': dataMap.dataEstate['2002']
- },
- {
- 'name':'第一产业','yAxisIndex':1,'type':'bar',
- 'data': dataMap.dataPI['2002']
- },
- {
- 'name':'第二产业','yAxisIndex':1,'type':'bar',
- 'data': dataMap.dataSI['2002']
- },
- {
- 'name':'第三产业','yAxisIndex':1,'type':'bar',
- 'data': dataMap.dataTI['2002']
- }
- ]
- },
- {
- title : {'text':'2003全国宏观经济指标'},
- series : [
- {'data': dataMap.dataGDP['2003']},
- {'data': dataMap.dataFinancial['2003']},
- {'data': dataMap.dataEstate['2003']},
- {'data': dataMap.dataPI['2003']},
- {'data': dataMap.dataSI['2003']},
- {'data': dataMap.dataTI['2003']}
- ]
- },
- {
- title : {'text':'2004全国宏观经济指标'},
- series : [
- {'data': dataMap.dataGDP['2004']},
- {'data': dataMap.dataFinancial['2004']},
- {'data': dataMap.dataEstate['2004']},
- {'data': dataMap.dataPI['2004']},
- {'data': dataMap.dataSI['2004']},
- {'data': dataMap.dataTI['2004']}
- ]
- },
- {
- title : {'text':'2005全国宏观经济指标'},
- series : [
- {'data': dataMap.dataGDP['2005']},
- {'data': dataMap.dataFinancial['2005']},
- {'data': dataMap.dataEstate['2005']},
- {'data': dataMap.dataPI['2005']},
- {'data': dataMap.dataSI['2005']},
- {'data': dataMap.dataTI['2005']}
- ]
- },
- {
- title : {'text':'2006全国宏观经济指标'},
- series : [
- {'data': dataMap.dataGDP['2006']},
- {'data': dataMap.dataFinancial['2006']},
- {'data': dataMap.dataEstate['2006']},
- {'data': dataMap.dataPI['2006']},
- {'data': dataMap.dataSI['2006']},
- {'data': dataMap.dataTI['2006']}
- ]
- },
- {
- title : {'text':'2007全国宏观经济指标'},
- series : [
- {'data': dataMap.dataGDP['2007']},
- {'data': dataMap.dataFinancial['2007']},
- {'data': dataMap.dataEstate['2007']},
- {'data': dataMap.dataPI['2007']},
- {'data': dataMap.dataSI['2007']},
- {'data': dataMap.dataTI['2007']}
- ]
- },
- {
- title : {'text':'2008全国宏观经济指标'},
- series : [
- {'data': dataMap.dataGDP['2008']},
- {'data': dataMap.dataFinancial['2008']},
- {'data': dataMap.dataEstate['2008']},
- {'data': dataMap.dataPI['2008']},
- {'data': dataMap.dataSI['2008']},
- {'data': dataMap.dataTI['2008']}
- ]
- },
- {
- title : {'text':'2009全国宏观经济指标'},
- series : [
- {'data': dataMap.dataGDP['2009']},
- {'data': dataMap.dataFinancial['2009']},
- {'data': dataMap.dataEstate['2009']},
- {'data': dataMap.dataPI['2009']},
- {'data': dataMap.dataSI['2009']},
- {'data': dataMap.dataTI['2009']}
- ]
- },
- {
- title : {'text':'2010全国宏观经济指标'},
- series : [
- {'data': dataMap.dataGDP['2010']},
- {'data': dataMap.dataFinancial['2010']},
- {'data': dataMap.dataEstate['2010']},
- {'data': dataMap.dataPI['2010']},
- {'data': dataMap.dataSI['2010']},
- {'data': dataMap.dataTI['2010']}
- ]
- },
- {
- title : {'text':'2011全国宏观经济指标'},
- series : [
- {'data': dataMap.dataGDP['2011']},
- {'data': dataMap.dataFinancial['2011']},
- {'data': dataMap.dataEstate['2011']},
- {'data': dataMap.dataPI['2011']},
- {'data': dataMap.dataSI['2011']},
- {'data': dataMap.dataTI['2011']}
- ]
- }
- ]
- };
- myChart.setOption(option);
- }
- );
- </script>
- <?php
- ?>
- </body>
- </html>
以上为官方的静态数据写入方式,下面介绍根据需求动态添加数据方式:
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
- <title>a</title>
- <style>
- body{background-color:#000000}
- </style>
- </head>
- <body>
- <div id="main" style="height:500px;width: 100%; margin-left: 0px;float: left;"></div>
- <!-- 本地引入ECharts,'js/dist/'本地文件路径下 -->
- <script src="http://echarts.baidu.com/build/dist/echarts.js"></script>
- <script src="http://echarts.baidu.com/doc/example/timelineOption.js"></script>
- <script type="text/javascript">
- // 路径配置,'./js/dist'本地文件路径
- require.config({
- paths: {
- echarts: 'http://echarts.baidu.com/build/dist'
- }
- });
- require(
- [
- 'echarts',
- 'echarts/chart/line', // 按需加载所需图表,如需动态类型切换功能,别忘了同时加载相应图表
- 'echarts/chart/bar'
- ],
- function (ec) {
- var myChart = ec.init(document.getElementById('main'));
- var text = '[{"NAME":"2002-01-01","VAL":"53"},{"NAME":"2003-01-01","VAL":"20"},{"NAME":"2004-01-01","VAL":"33"},{"NAME":"2005-01-01","VAL":"43"},{"NAME":"2006-01-01","VAL":"28"},{"NAME":"2007-01-01","VAL":"29"},{"NAME":"2008-01-01","VAL":"43"},{"NAME":"2009-01-01","VAL":"28"},{"NAME":"2010-01-01","VAL":"29"},{"NAME":"2011-01-01","VAL":"29"}]';
- var json = JSON.parse(text);
- option = {
- timeline:{
- data:(function(){
- var data=[];
- for(var i=0;i<json.length;i++){
- data.push(json[i].NAME);
- console.log(json[i].NAME);
- }
- return data;
- })(),
- label : {
- formatter : function(s) {
- return s.slice(0, 4);
- }
- },
- autoPlay : true,
- playInterval : 1000
- },
- options:(function(){
- var options=[];
- for(var i=0;i<json.length;i++){
- if(i==0){
- options.push({
- title : {
- 'text':'2002全国宏观经济指标',
- 'subtext':'数据来自国家统计局'
- },
- tooltip : {'trigger':'axis'},
- legend : {
- x:'right',
- 'data':['GDP','金融','房地产','第一产业','第二产业','第三产业'],
- 'selected':{
- 'GDP':true,
- '金融':false,
- '房地产':true,
- '第一产业':false,
- '第二产业':false,
- '第三产业':false
- }
- },
- toolbox : {
- 'show':true,
- orient : 'vertical',
- x: 'right',
- y: 'center',
- 'feature':{
- 'mark':{'show':true},
- 'dataView':{'show':true,'readOnly':false},
- 'magicType':{'show':true,'type':['line','bar','stack','tiled']},
- 'restore':{'show':true},
- 'saveAsImage':{'show':true}
- }
- },
- calculable : true,
- grid : {'y':80,'y2':100},
- xAxis : [{
- 'type':'category',
- 'axisLabel':{'interval':0},
- 'data':[
- '北京','\n天津','河北','\n山西','内蒙古','\n辽宁','吉林','\n黑龙江',
- '上海','\n江苏','浙江','\n安徽','福建','\n江西','山东','\n河南',
- '湖北','\n湖南','广东','\n广西','海南','\n重庆','四川','\n贵州',
- '云南','\n西藏','陕西','\n甘肃','青海','\n宁夏','新疆'
- ]
- }],
- yAxis : [
- {
- 'type':'value',
- 'name':'GDP(亿元)',
- 'max':53500
- },
- {
- 'type':'value',
- 'name':'其他(亿元)'
- }
- ],
- series : [
- {
- 'name':'GDP',
- 'type':'bar',
- 'markLine':{
- symbol : ['arrow','none'],
- symbolSize : [4, 2],
- itemStyle : {
- normal: {
- lineStyle: {color:'orange'},
- barBorderColor:'orange',
- label:{
- position:'left',
- formatter:function(params){
- return Math.round(params.value);
- },
- textStyle:{color:'orange'}
- }
- }
- },
- 'data':[{'type':'average','name':'平均值'}]
- },
- 'data': dataMap.dataGDP['2002']
- },
- {
- 'name':'金融','yAxisIndex':1,'type':'bar',
- 'data': dataMap.dataFinancial['2002']
- },
- {
- 'name':'房地产','yAxisIndex':1,'type':'bar',
- 'data': dataMap.dataEstate['2002']
- },
- {
- 'name':'第一产业','yAxisIndex':1,'type':'bar',
- 'data': dataMap.dataPI['2002']
- },
- {
- 'name':'第二产业','yAxisIndex':1,'type':'bar',
- 'data': dataMap.dataSI['2002']
- },
- {
- 'name':'第三产业','yAxisIndex':1,'type':'bar',
- 'data': dataMap.dataTI['2002']
- }
- ]
- });
- }else{
- var year = json[i].NAME.slice(0, 4);
- options.push({
- title : {'text':year+'全国宏观经济指标'},
- series : [
- {'data': dataMap.dataGDP[year]},
- {'data': dataMap.dataFinancial[year]},
- {'data': dataMap.dataEstate[year]},
- {'data': dataMap.dataPI[year]},
- {'data': dataMap.dataSI[year]},
- {'data': dataMap.dataTI[year]}
- ]
- });
- }
- }
- return options;
- })()
- };
- myChart.setOption(option);
- }
- );
- </script>
- <?php
- ?>
- </body>
- </html>
两者效果一样,如下图所示:

ECharts实例开发学习笔记二——时间轴的更多相关文章
- python-django开发学习笔记二
1.简述 1.1 开发环境 该笔记所基于的开发环境为:windows8.python2.7.5.psycopg2-2.4.2.django1.5.4.pyCharm-2.7.3.以上所描述的软件.插件 ...
- 软件开发学习笔记 <二>软件开发模型、Up、Rup、敏捷Up
软件开发过程(process) 是一个将用户需求转化为软件系统所需要的活动的集合. 软件生命周期(SDLC,Software Devlopment Life Cycle) 软件从孕育.诞生.成长.成熟 ...
- 基于.NET的CAD二次开发学习笔记二:AutoCAD .NET中的对象
1.CAD对象:一个CAD文件(DWG文件)即对应一个数据库,数据库中的所有组成部分,看的见(包括点.多段线.文字.圆等)和看不见(图层.线型.颜色等)的都是对象,数据库本身也是一个对象. 直线.圆弧 ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
- python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码
python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...
- python3.4学习笔记(二十五) Python 调用mysql redis实例代码
python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...
- python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码
python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码 淘宝IP地址库 http://ip.taobao.com/目前提供的服务包括:1. 根据用户提供的 ...
- amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules
amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules 一.总结 1.见名知意:见那些class名字知意,见函数名知意,见文件名知意 例如(HISTORY.md Web 组件更新历史 ...
- amazeui学习笔记二(进阶开发4)--JavaScript规范Rules
amazeui学习笔记二(进阶开发4)--JavaScript规范Rules 一.总结 1.注释规范总原则: As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性. ...
随机推荐
- 4560 NOIP2015 D2T2 子串 code vs
4560 NOIP2015 D2T2 子串 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 有两个仅包含小写 ...
- 从理论到实践,全方位认识DNS(理论篇)
对于 DNS(Domain Name System) 大家肯定不陌生,不就是用来将一个网站的域名转换为对应的IP吗.当我们发现可以上QQ但不能浏览网页时,我们会想到可能是域名服务器挂掉了:当我们用别人 ...
- 你不知道的JavaScript--Item34 大白话解说Promise
去年6月份. ES2015正式公布(也就是ES6.ES6是它的乳名),当中Promise被列为正式规范.作为ES6中最重要的特性之中的一个,我们有必要掌握并理解透彻.本文将由浅到深,解说Promise ...
- http://www.html5tricks.com/demo/jiaoben2255/index.html 排序算法jquery演示源代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or ...
- ubuntu下安装jre
jre下载地址:http://www.java.com/en/download/manual.jsp 1.将下载好的jre-7u55-linux-x64.tar.gz文件解压缩,得到jre1.7.0_ ...
- cocos2d-x-3.1 数据结构之Vector (coco2d-x 学习笔记六)
介绍 cocos2d::Vector<T>是一个封装好的能动态增长顺序訪问的容器. cocos2d::Vector<T>中的元素是按序存取的,它的低层实现数据结构是标准模版库中 ...
- ListView布局之View复用原理举例
1.简单介绍: ListView是android开发中经常使用的控件,系统自带的那些样式,我就不列举了. 今天主要看一下.一个模仿系统历史通话记录的ListView. 效果例如以下: 上面ListVi ...
- BNU 13064 Dice (I) 前缀和优化DP
Dice (I) You have N dices; each of them has K faces numbered from 1 to K. Now you have arranged th ...
- android TabHost控件
(一)TabHost控件,默认是在顶部显示的 TabHost是盛放Tab按钮和Tab内容的首要容器, TabWidget(tabs标签)用于选择页面,是指一组包含文本或图标的 ,FrameLayout ...
- Vue.prototype的用法
基础事例: 在vue项目main.js文件中: Vue.prototype.$appName = 'My App' 这样你可以通过在原型上定义它们使其在每个 Vue 的实例中可用. new Vue({ ...