eChart学习笔记
eChart的html代码很简单,给个容器,定好宽高就可以了
1 <div class="container-fluid">
2 <div class="row">
3 <div class="col-xs-8">
4 <div id="main" style="width: 100%;height:500px;"></div>
5 </div>
6 <div class="col-xs-4">
7 <div id="pieChart" style="width: 100%;height:460px;"></div>
8 </div>
9 </div>
10 </div>
因为服务器返回的数据较多,声明两个变量分布保存相应的数据
var gDashboardData = {};//另外一组数据,这里用不上
var gDateData = [];
var gMonthData = [];
发起请求,这里一般习惯用jQuery
(function(){
$.ajax({
type: "get",
url: "/main/statMainData",
async: false,
success: function (data) {
if (data.result == "1") {
gDashboardData = data.dashboard;
gDateData = data.dateData;
gMonthData = data.monthData;
setAllChartData();
} else {
toastr.warning(data.errorCode)//toastr提示插件
}
},
error: function (data, status) {
toastr.warning(data)
}
});
}());
拿到数据后绘制曲线图
(function() {
var myChart = echarts.init(document.getElementById('main'));
// 显示标题,图例和空的坐标轴
var xDateArray = [];
var yTotalArray = [];
var yCompleteArray = [];for (var i = 0; i < gDateData.length; i++) {//这个曲线图要显示的数据量比较多,所以继续遍历分别保存相应数据
xDateArray.push(gDateData[i].statDate);
yTotalArray.push(gDateData[i].allJobNum);
yCompleteArray.push(gDateData[i].finishNum);
}
myChart.setOption({
title: {
text: '工单月曲线图'
},
tooltip: {trigger: 'axis'},
legend: {
data: ['工单数', '工单完成数']
},
xAxis: { //X轴的值
type: 'category',
boundaryGap: false,
data: xDateArray
},
yAxis: {type: 'value'}, //Y轴的值,有两个,绘制两条曲线
series: [{
name: '工单数',
type: 'line',
data: yTotalArray
},
{
name: '工单完成数',
type: 'line',
data: yCompleteArray
}]
});
}())
绘制饼状图
(function() {
var myChart = echarts.init(document.getElementById('pieChart'));
myChart.setOption({
title:{text:"工单业务类型分布图"},
tooltip:{
trigger:"item",
formatter:"{b}:{c}<br/>占比 {d}%"
},
legend:{
orient:"horizontal",
left:'center',
bottom:0,
data:['配送','保养','安装','租赁','维修','回收']
},
series:[
{
type:'pie',
selectedMode: 'single',
radius:[0,'70%'],
data:[
{
value:gMonthData[0].num,
name:'回收',
itemStyle:{
normal:{
color:'rgb(149,149,149)'
}
}
},
{
value:gMonthData[1].num,
name:'保养',
itemStyle:{
normal:{
color:'rgb(0,192,239)'
}
}
},
{
value:gMonthData[2].num,
name:'安装',
itemStyle:{
normal:{
color:'rgb(62,98,121)'
}
}
},
{
value:gMonthData[3].num,
name:'租赁',
itemStyle:{
normal:{
color:'rgb(234,162,41)'
}
}
},
{
value:gMonthData[4].num,
name:'维修',
itemStyle:{
normal:{
color:'rgb(145,199,174)'
}
}
},
{
value:gMonthData[5].num,
name:'配送',
itemStyle:{
normal:{
color:'rgb(212,130,101)'
}
}
}
]
}
]
});
})();
看到结尾那一堆括号都懵逼了有没有,嵌套够深的,一会儿数组一会儿对象,这个难度不大,但是需要细心、耐心和良好的编程习惯。插件提供的功能还有很多,需要什么功能多去看看相关案例
eChart学习笔记的更多相关文章
- Webpack4 学习笔记四 暴露全局变量、externals
前言 此内容是个人学习笔记,以便日后翻阅.非教程,如有错误还请指出 webpack 暴露全局变量 通过 expose-loader 内联配置 在 webpack中配置 每个模块通过注入的方式 通过CD ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
随机推荐
- 读书笔记 effective c++ Item 27 尽量少使用转型(casting)
C++设计的规则是用来保证使类型相关的错误不再可能出现.理论上来说,如果你的程序能够很干净的通过编译,它就不会尝试在任何对象上执行任何不安全或无意义的操作.这个保证很有价值,不要轻易放弃它. 不幸的是 ...
- javaWeb项目(SSH框架+AJAX+百度地图API+Oracle数据库+MyEclipse+Tomcat)之一 基础Struts框架搭建篇
即将开始着手写这个项目,所以希望通过这篇博客来记录自己学习的过程 今天开学第一天,就上了软件工程实践课,自己也开始着手做这个大作业了.首先我的项目名称叫做智能班车管理系统. 项目的概况: 该软件产品是 ...
- C语言学习第三章
写在课前,提醒自己写代码的时候一定要注意不能漏写符号!提醒自己写代码的时候一定要注意不能漏写符号!提醒自己写代码的时候一定要注意不能漏写符号! 今天主要学习掌握if...else条件结构,多重if条件 ...
- 进程间通信系列 之 消息队列函数(msgget、msgctl、msgsnd、msgrcv)及其范例
进程间通信系列 之 概述与对比 http://blog.csdn.net/younger_china/article/details/15808685 进程间通信系列 之 共享内存及其实例 ...
- JavaScript中var变量引用function与直接声明function
今天在h5开发app的过程中遇到了一个js问题,function的执行问题 在js中声明函数function有这两种方法 var A=function(){...} 或者 function A(){. ...
- nodejs querystring踩坑笔记----只能用于表单提交
API中的实例: var http = require('http'); var querystring = require('querystring'); var postData = querys ...
- Andriod相机开发关于startPreview Failed的错误的特别记录(重要)
年前,自己做的Android相机嵌入到一款火爆的游戏中去了,经过几次的修改升级,相机运行上报的错误也越来越少, 但是,前几天刚上线的最新相机,却老是在Android 2.3机器上出现startPrev ...
- python 基础之pickle 与json 报错问题解决方案
Python 基础之pickle与json 有没有在搞pickle与json在进行数据储存的时候老是报错,这个有些让人烦恼,在之前有一篇介绍过它们的基本用法以及在使用过长中避免一些坑,但是今天在把对象 ...
- 0基础搭建Hadoop大数据处理-环境
由于Hadoop需要运行在Linux环境中,而且是分布式的,因此个人学习只能装虚拟机,本文都以VMware Workstation为准,安装CentOS7,具体的安装此处不作过多介绍,只作需要用到的知 ...
- 初识Eclipse!!
Java之路 ——初识Eclipse 零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 ...