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. js cookie创建读取删除函数封装

    js cookie创建读取删除函数封装 一.总结 都是为了方便操作,这样弄了很方便 1.创建cookie的函数封装的作用:方便设置过期时间expire,方便设置键和值 2.查询cookie的数据封装的 ...

  2. 结合Wireshark捕获分组深入理解TCP/IP协议之IP协议

    摘要:     本文简单介绍了网络层理论知识,详细讲解了IP数据报各个字段,并从Wireshark俘获分组中选取IP数据报进行分析,也阐述了分组和分片的区别.   一.IPv4数据报     网络层是 ...

  3. 3、Pycharm使用

    1.设置文件模板 file->settings->Editor->File and Code Templates->Python Script 2.运行 a.点击要运行的文件, ...

  4. 如何知道刚刚插入数据库那条数据的id

    如何知道刚刚插入数据库那条数据的id 一.总结 一句话总结:这些常见功能各个框架里面都有,可以查看手册,thinkphp里面是$userId = Db::name('user')->getLas ...

  5. cocos2d-html5 javascript 通过C++绑定,调用java方法

    1.java中的写法 /* * XConnectPlugin.java * * Created on: 2014年4月30日 * Author: lswdonald9@gmail.com */ pac ...

  6. php函数实现显示几秒前,几分钟前,几天前等方法(网络上什么都有)

    php函数实现显示几秒前,几分钟前,几天前等方法(网络上什么都有) 一.总结 网络上面什么函数都有 二.php函数实现显示几秒前,几分钟前,几天前等方法 现在很多网站的时间显示都很人性化,不再是单纯的 ...

  7. 1069. The Black Hole of Numbers (20)【模拟】——PAT (Advanced Level) Practise

    题目信息 1069. The Black Hole of Numbers (20) 时间限制100 ms 内存限制65536 kB 代码长度限制16000 B For any 4-digit inte ...

  8. [NPM] Run npm scripts with git hooks

    In this lesson we will look about how we can integrate with git hooks to help enforce a certain leve ...

  9. 移动端iPhone系列适配问题的一些坑

    完成移动端的开发项目之后,发现谷歌自带的调试器似乎没有什么太大的作用,整天借同事的苹果手机测bug,尽管同事不厌其烦,但还是觉得这iPhone系列适配问题适配到想逃逃逃,好在项目已经顺利完成,测试通过 ...

  10. 并发新特性—Executor 框架与线程池

    兰亭风雨 · 更新于 2018-11-14 09:00:31 并发新特性-Executor 框架与线程池 Executor 框架简介 在 Java 5 之后,并发编程引入了一堆新的启动.调度和管理线程 ...