echarts 学习之路

学习思路

  1. 初识echarts
  2. 编写自己的echarts图表
  3. 根据需求编写工作中的echarts图表[进阶篇]

github地址:https://github.com/lisongyu/echarts-learn


初识echarts

echarts官方文档

  1. 实例

    1. 入门教程
    2. 主要实例分析(折线为主,柱状次之,其他辅助)
    3. 主题学习
  2. 文档

    1. 简介
    2. 名词解释
    3. 图表类型
    4. 引入ECharts
    5. 自定义构建echarts单文件
    6. 初始化
    7. 实例方法
    8. 选项
    9. 图数据表示
    10. 多级控制设计
  3. 知识点总结

添加多条 图例多条数据
/**
* 添加多个图例,多条数据便可实现
*/
legend: {
data:['进口量','出口量']//多条数据
}
{
"name":"进口量",
"type":"bar",
"data":[5, 20, 40, 10, 10, 20]//X轴对应的数值
},
{
"name":"出口量",
"type":"bar",
"data":[50, 120, 10, 70, 40, 62]
}

参考页面 morelegend.html

添加平均值,最大值最小值
/**
* 添加平均值,最大值最小值
*/
//最大值与最小值
markPoint : {
data : [
{type : 'max', name: '最大值'},
{type : 'min', name: '最小值'}
]
},
//平均值
markLine : {
data : [
{type : 'average', name: '平均值'}
]
}

参考页面 average.html

折线与柱状图混合
/**
* 折线与柱状图混合
*/
yAxis : [
{
type : 'value'
},
//第二个纵轴坐标
{
type : 'value',
name:'%'
}
],
//设置数据
series : [
{
"name":"今年国内生产总值",
"type":"bar",
"data":[5, 20, 40, 10, 10, 20]//X轴对应的数值
},
{
"name":"去年比例",
"type":"line",
//结合
yAxisIndex: 1,//Y轴第二坐标的索引
"data":[50, 80, 10, 70, 40, 62]//X轴对应的数值
}
]

参考页面 linebar.html

响应式
/**
* 需结合jquery
*/
$(window).resize(function () {
myChart.resize(option);
});

编写自己的echarts图表

要制作属于自己的图表首先一点就要应用到Ajax技术,因为每个图表中都有数据,而利用Ajax可以将数据与表现想分离,使工作进行模块化,便于协作开发。

根据option可知有三项数据可变分别如下

 legend: { data:['销量,产量']},
xAxis : [{type : 'category',//种类
data : ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]],
series : [{
"name":"销量",
"type":"bar",
"data":[5, 20, 40, 10, 10, 20]
},
{
"name":"产量",
"type":"bar",
"data":[5, 80, 50, 20, 10, 20]
}
]

所涉及的知识点

  1. Ajax技术(可以去官网了解)
  2. Json数据格式
  3. eval()如何使用
  4. each()如何使用
eval()如何使用?

1.了解eval()方法 参考 eval()基础使用

2.使用eval()来解析数据

each()如何使用? 请参考 each()方法的使用

了解上述知识点开始实现一个自己的图表

1.一组json数据

{
"name":["销量","产量"],
"data":[
[5, 20, 40, 10, 10, 20],
[50, 80, 20, 15, 20, 24]
],
"xlist":["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
}

2.运用Ajax获取数据。

var sql='json/data.json';
var request = $.ajax({
url: sql,
type: "get",
dataType:"json",
cache: false
});
request.done(function(data) {
//获取数据后续操作
});

3.将数据与配置项相结合

var series = eval(data);
//配置的名字等于由ajax获取的名字,坐标为获取的坐标
config.legend.data=series.name; config.xAxis[0].data=series.xlist;
//设置数据
//根据每一个图例生成各组数据(思想即一个图例的索引对应相应数据的索引) $(series.name).each(function(index,value){
var everyData=series.data[index]; config.series.push(template(value,everyData));});
//生成图表
myChart.setOption(config);

参考页面 ajacecharts.html


根据需求编写工作中的echarts图表

大家已经能够用ajax生成图表,但考虑到大量图表的问题,这就迫使我们不得不对其进行规划。

整体结构的规划

1.将javascript从html中剔除,在body中添加data-chart属性。

2.根据不同的data-chart值加载不同的javascript代码。

require.config({
paths: {
echarts: 'echarts-2.1.8/build/dist',
jquery:'js/jquery-1.7.2.min'
}
//用paths来映射配置项echarts-2.1.8/build/dist 用echarts代替
});
//获取body标签
var bodyElem = document.getElementsByTagName("body")[0];
//获取bodyElem属性data-chart的值
var chartName = bodyElem.getAttribute('data-chart');
//根据不同的值加载不同的javascript
require(['js/'+chartName]);

3.根据data-chart值命名javascript页面。

参考页面 ajax.html

根据不同需求设计不同方法在data-chart值的对应的javascript页面进行调用,根据时间和选择内容的多少主要分为以下4大需求。

简要介绍以下几个专属名词

1.时间段(1997-2012)

2.时间点(1997)

3.单选(选择单一项,如复选框中只选择一个选项)

4.多选(选择多项,如复选框中选择多个选项)

思路分析:

用插件的方式封装方法进行调用。

echarts学习(上)的更多相关文章

  1. echarts学习总结

    ECharts学习总结使用步骤1 引入ECharts <script src="echarts.min.js"></script>2 绘制一个简单的图表 为 ...

  2. echarts学习笔记(一)

    echarts学习笔记(一) echarts开发步骤 创建一个新的html文件 在html文件head头部信息中导入echarts 声明一个容器(可以理解为画布),用于存放echarts 实例化ech ...

  3. c语言学习上的思考与心得

    由于这段时间在c语言的学习中,表现的很努力并且完成作业态度认真,所以得到了老师奖励的小黄衫. 以下是我对于c语言的学习感受与心得. 学习感受与心得 我选择计算机的这个专业,是因为我对计算机的学习很有兴 ...

  4. Echarts 地图上显示数值

    Echarts 地图上展示数值,效果如下: 上代码:关键代码用红色 series: [ { //name: '香港18区人口密度', type: 'map', mapType: 'jiangsu', ...

  5. Echarts学习记录——如何去掉网格线及网格区域颜色

    关键属性 splitLine和splitArea,可以设置相关的属性 示例代码 <!DOCTYPE html> <html lang="en"> <h ...

  6. Echarts学习记录——如何给x轴文字标签添加事件

    Echarts学习记录——如何给x轴文字标签添加事件 关键属性 axisLabel下属性clickable:true 并给图表添加单击事件 根据返回值判断点击的是哪里 感觉自己的方法有点变扭,有更好办 ...

  7. ECharts学习指南

    1.了解ECharts ECharts简单说就是互联网开发程序过程中,后台数据库用以实现数据到图形的映射的一个插件. 具体来说一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在PC和 ...

  8. ECharts学习总结(二)-----图表组件漏斗图(funnel)

    今天在学习ECharts时,想要在ECharts图表的原生态Demo中抠出漏斗图,却不知如何下手,经过一番研究,特总结如下: 首先我们需要这样做 1.拷贝出两个js文件:esl.js 和echarts ...

  9. Echarts学习总结(一)-----柱状图

    简介 ECharts,缩写来自Enterprise Charts,商业级数据图表,基于[HTML5]Canvas (ZRender),纯Javascript图表库,是百度的一个开源的数据可视化工具,业 ...

随机推荐

  1. 数据类型总结——Boolean类型(布尔类型)

    相关文章 简书原文:https://www.jianshu.com/p/e5c75d4be636 数据类型总结——概述:https://www.cnblogs.com/shcrk/p/9266015. ...

  2. 【Lucene4.8教程之五】Luke 2014-06-24 15:12 1092人阅读 评论(0) 收藏

    一.Luke基本内容 1.Luke简介 Luke可用于查看Lucene创建的索引,并对其进行基本操作. 2.创建Luke (1)从Github上下载源文件 https://github.com/tar ...

  3. asm 的hello world 2011.04.28

    这几天一直在弄一个嵌入式的程序,搭环境,熟悉库函数,熟悉汇编,乱成一锅粥,到现在还是没有什么系统性的收获. 或许下周弄出来吧,(一定得弄出来,不然老大该跟我急了……). 今天,熟悉汇编,好歹用汇编写出 ...

  4. .NET Framework基础知识(三)(转载)

    .正则表达式:用一串字符验证是否符合一种规范,这个规范就是正则表达式. .正则表达式中常用的元字符: . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配空白符 \d 匹配数 ...

  5. js中ajax连接服务器open函数的另外两个默认参数get请求和默认异步(open的post方式send函数带参数)(post请求和get请求区别:get:快、简单 post:安全,量大,不缓存)(服务器同步和异步区别:同步:等待服务器响应当中浏览器不能做别的事情)(ajax和jquery一起用的)

    js中ajax连接服务器open函数的另外两个默认参数get请求和默认异步(open的post方式send函数带参数)(post请求和get请求区别:get:快.简单 post:安全,量大,不缓存)( ...

  6. PatentTips - Sprite Graphics Rendering System

    BACKGROUND This disclosure relates generally to the field of computer graphics. More particularly, b ...

  7. ios开发事件处理之:一:UIView的拖拽

    1.ios当中常⽤的事件?  触摸事件 ,加速计事件 ,远程控制事件 2.什么是响应者对象? 继承了UIResponds的对象我们称它为响应者对象 UIApplication.UIViewContro ...

  8. 使用DOT语言和Graphviz绘图(翻译)

    Casa Taloyum About Me Blog Archives 使用DOT语言和Graphviz绘图(翻译) Date Wed 26 November 2014 Tags graphviz / ...

  9. 将asp.net core2.0项目部署在IIS上运行

    原文:将asp.net core2.0项目部署在IIS上运行 前言:  与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是独立运行的.它独立运行在控 ...

  10. js进阶 9-9 html控件如何实现回车键切换焦点

    js进阶 9-9 html控件如何实现回车键切换焦点 一.总结 一句话总结:在onkeydown事件中判断event对象的键位码,然后focus事件. 二.js进阶 9-9 html控件如何实现回车键 ...