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学习笔记的更多相关文章

  1. Webpack4 学习笔记四 暴露全局变量、externals

    前言 此内容是个人学习笔记,以便日后翻阅.非教程,如有错误还请指出 webpack 暴露全局变量 通过 expose-loader 内联配置 在 webpack中配置 每个模块通过注入的方式 通过CD ...

  2. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  3. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  4. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  5. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  6. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  7. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  8. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  9. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

随机推荐

  1. C#是否该支持“try/catch/else”语法

    以前用过一段时间Python,里面有个try/catch/else语法,我觉得挺好用,这个语法形如下: try: print('try...') r = 10 / int('2') print('re ...

  2. 天方夜谈·数据结构·Queue

    "我在想Y的时候不能想X....." 什么叫做Queue(队列)?"队列是项的集合,对于每一项x和y,如果x在y之前离开对头,那么x一定在y之前进入队列--Sesh·Ve ...

  3. [Git]08 如何自动补全命令

     [Git]08如何自动补全命令 如果你用的是 Bash shell,可以试试看 Git 提供的自动完成脚本.下载 Git 的源代码,进入 contrib/completion 目录,会看到一个g ...

  4. 使用window.btoa和window.atob来进行Base64编码和解码

      方法描述 WindowBase64.atob() 函数用来解码一个已经被base-64编码过的数据. WindowBase64.btoa() 函数 将ascii字符串或二进制数据转换成一个base ...

  5. TypeScript入门-枚举、类型推论

    枚举 使用枚举可以定义一些具有名字的数字常量,和在C语言中一样都是使用关键字enum enum Direction { Up = 1, Down = 1<<2, Left, Right } ...

  6. poj2352树状数组

    Astronomers often examine star maps where stars are represented by points on a plane and each star h ...

  7. CSS完美实现iframe高度自适应(支持跨域)

    Iframe的强大功能偶就不多说了,它不但被开发人员经常运用,而且黑客们也常常使用它,总之用过的人知道它的强大之处,但是Iframe有个致命的"BUG"就是iframe的高度无法自 ...

  8. 解决xmapp中Apache端口号占用问题

    [原]解决 "安装xmapp后Apache不能正常启动" 问题 小伙伴们安装xmapp后发现Apache不能正常开启,下面给出了不同情况的解决办法,可以分为以下几种情况分析问题: ...

  9. Day3 Pyhon的六大数据类型

    Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) Number(数字) Py ...

  10. 非学习型单层感知机的java实现(日志三)

    要求如下: 所以当神经元输出函数选择在硬极函数的时候,如果想分成上面的四个类型,则必须要2个神经元,其实至于所有的分类问题,n个神经元则可以分成2的n次方类型. 又前一节所证明出来的关系有: 从而算出 ...