echarts学习(上)
echarts 学习之路
学习思路
github地址:https://github.com/lisongyu/echarts-learn
初识echarts
echarts官方文档
-
- 简介
- 名词解释
- 图表类型
- 引入ECharts
- 自定义构建echarts单文件
- 初始化
- 实例方法
- 选项
- 图数据表示
- 多级控制设计
知识点总结
添加多条 图例多条数据
/**
* 添加多个图例,多条数据便可实现
*/
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]
}
]
所涉及的知识点
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学习(上)的更多相关文章
- echarts学习总结
ECharts学习总结使用步骤1 引入ECharts <script src="echarts.min.js"></script>2 绘制一个简单的图表 为 ...
- echarts学习笔记(一)
echarts学习笔记(一) echarts开发步骤 创建一个新的html文件 在html文件head头部信息中导入echarts 声明一个容器(可以理解为画布),用于存放echarts 实例化ech ...
- c语言学习上的思考与心得
由于这段时间在c语言的学习中,表现的很努力并且完成作业态度认真,所以得到了老师奖励的小黄衫. 以下是我对于c语言的学习感受与心得. 学习感受与心得 我选择计算机的这个专业,是因为我对计算机的学习很有兴 ...
- Echarts 地图上显示数值
Echarts 地图上展示数值,效果如下: 上代码:关键代码用红色 series: [ { //name: '香港18区人口密度', type: 'map', mapType: 'jiangsu', ...
- Echarts学习记录——如何去掉网格线及网格区域颜色
关键属性 splitLine和splitArea,可以设置相关的属性 示例代码 <!DOCTYPE html> <html lang="en"> <h ...
- Echarts学习记录——如何给x轴文字标签添加事件
Echarts学习记录——如何给x轴文字标签添加事件 关键属性 axisLabel下属性clickable:true 并给图表添加单击事件 根据返回值判断点击的是哪里 感觉自己的方法有点变扭,有更好办 ...
- ECharts学习指南
1.了解ECharts ECharts简单说就是互联网开发程序过程中,后台数据库用以实现数据到图形的映射的一个插件. 具体来说一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在PC和 ...
- ECharts学习总结(二)-----图表组件漏斗图(funnel)
今天在学习ECharts时,想要在ECharts图表的原生态Demo中抠出漏斗图,却不知如何下手,经过一番研究,特总结如下: 首先我们需要这样做 1.拷贝出两个js文件:esl.js 和echarts ...
- Echarts学习总结(一)-----柱状图
简介 ECharts,缩写来自Enterprise Charts,商业级数据图表,基于[HTML5]Canvas (ZRender),纯Javascript图表库,是百度的一个开源的数据可视化工具,业 ...
随机推荐
- php 面试题一(看视频的学习量比网上瞎转悠要清晰和明了很多)(看视频做好笔记)(注重复习)
php 面试题一(看视频的学习量比网上瞎转悠要清晰和明了很多)(看视频做好笔记)(注重复习) 一.总结 1.无线分类的本质是树(数据结构)(数的话有多种储存结构可以实现,所以对应的算法也有很多),想到 ...
- VC和MATLAB混合开发经验总结
作者:朱金灿 来源:http://blog.csdn.net/clever101 前期准备: 1.请确认机器中已经安装Matlab主程序或(MCR)MATLAB Compiler Runtime(具体 ...
- Linq读取XML数据
1.XML数据格式:<?xml version="1.0"?><customers> <customer> <id>ALFK ...
- 一个自己主动依据xcode中的objective-c代码生成类关系图的神器
https://github.com/kimsungwhee/KSHObjcUML 安装方法: 1.下载项目 2.执行 3.会又一次开启一个新的xcode 4.选择一个项目,点击 Objc-UML 会 ...
- php面试题6
php面试题6 一.总结 二.php面试题6 写出你认为语言中的高级函数:1)preg_replace()2)preg_match()3) ignore_user_abort()4) debug_ba ...
- How to use ftp in a shell script
转载How to use ftp in a shell script How to use ftp in a shell script Bruce EdigerBruce Ediger's home ...
- WP8.1开发:简单的天气预报应用
今天小梦给大家分享一个简单的天气预报应用源码:调用的是百度API.整个应用都没有什么难点.只是一个简单的网络请求和json数据处理.在WP8.1有小娜的情况下,天气预报应用还有意义吗?我认为还是有点意 ...
- jquery-4 完整表单验证实例
jquery-4 完整表单验证实例 一.总结 一句话总结:在form的jquery对象中返回false即可终止表单提交. 1.验证的显示错误消息如何布局? 开始时隐藏,出现错误后显示 10 .erro ...
- php面试题12(多态web服务器共享session的方法:将session存到数据库)($val=&$data[$key];)
php面试题12(多态web服务器共享session的方法:将session存到数据库)($val=&$data[$key];) 一.总结 1.多态web服务器共享session的方法: ...
- Java环境搭建若干问题
0.总体说明 本次搭建环境,为了偷懒,使用的是,阿里云镜像. 自带了Nginx.Tomcat.JDK等. 比较坑爹的是,虽然镜像带了很多安装好的软件,但是也有各种问题,比如它修改了tomc ...