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)‘
                            }
                        }
                    }
                ]
            }
        ]
    });
})();

看到结尾那一堆括号都懵逼了有没有,嵌套够深的,一会儿数组一会儿对象,这个难度不大,但是需要细心、耐心和良好的编程习惯。插件提供的功能还有很多,需要什么功能多去看看相关案例

时间: 2024-11-07 21:41:31

eChart学习笔记的相关文章

vector 学习笔记

vector 使用练习: /**************************************** * File Name: vector.cpp * Author: sky0917 * Created Time: 2014年04月27日 11:07:33 ****************************************/ #include <iostream> #include <vector> using namespace std; int main

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle ICondu

jQuery学习笔记(一):入门

jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操作如下: 1 document.getElementById('info').value = 'Hello World!'; 使用JQuery时获取DOM文本操作如下: 1 $('#info').val('Hello World!'); 嗯,可以看出,使用JQuery的优势之一是可以使代码更加简练,使开

[原创]java WEB学习笔记93:Hibernate学习之路---Hibernate 缓存介绍,缓存级别,使用二级缓存的情况,二级缓存的架构集合缓存,二级缓存的并发策略,实现步骤,集合缓存,查询缓存,时间戳缓存

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Activiti 学习笔记记录(三)

上一篇:Activiti 学习笔记记录(二) 导读:上一篇学习了bpmn 画图的常用图形标记.那如何用它们组成一个可用文件呢? 我们知道 bpmn 其实是一个xml 文件

HTML&CSS基础学习笔记8-预格式文本

<pre>标签的主要作用是预格式化文本.被包围在 pre 标签中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. <pre>标签的一个常见应用就是用来表示计算机的源代码.当然你也可以在你需要在网页中预显示格式时使用它. 会使你的文本换行的标签(例如<h>.<p>)绝不能包含在 <pre> 所定义的块里.尽管有些浏览器会把段落结束标签解释为简单地换行,但是这种行为在所有浏览器上并不都是一样的. 更多学习内容,就在码芽网http://www.

java/android 设计模式学习笔记(14)---外观模式

这篇博客来介绍外观模式(Facade Pattern),外观模式也称为门面模式,它在开发过程中运用频率非常高,尤其是第三方 SDK 基本很大概率都会使用外观模式.通过一个外观类使得整个子系统只有一个统一的高层的接口,这样能够降低用户的使用成本,也对用户屏蔽了很多实现细节.当然,在我们的开发过程中,外观模式也是我们封装 API 的常用手段,例如网络模块.ImageLoader 模块等.其实我们在开发过程中可能已经使用过很多次外观模式,只是没有从理论层面去了解它. 转载请注明出处:http://bl

[原创]java WEB学习笔记48:其他的Servlet 监听器:域对象中属性的变更的事件监听器 (3 个),感知 Session 绑定的事件监听器(2个)

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

java/android 设计模式学习笔记(10)---建造者模式

这篇博客我们来介绍一下建造者模式(Builder Pattern),建造者模式又被称为生成器模式,是创造性模式之一,与工厂方法模式和抽象工厂模式不同,后两者的目的是为了实现多态性,而 Builder 模式的目的则是为了将对象的构建与展示分离.Builder 模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细地控制对象的构造流程.一个复杂的对象有大量的组成部分,比如汽车它有车轮.方向盘.发动机.以及各种各样的小零件,要将这些部件装配成一辆汽车,这个装配过