本文介绍一个echarts工具类EChart.js,用来制作统计图表,基于echarts3。

一、工具类特性如下:

  1. 包含柱状图、折线图和饼图,可以实现这三类统计图之间的切换;
  2. 支持标题和副标题;
  3. 支持图例;
  4. 支持保存为图片;
  5. 支持x轴,y轴名称;
  6. 支持tooltip,并且数据中带单位;
  7. 支持显示数据标注;
  8. 支持x轴数据缩放;

注:构建echarts脚本的时候,需要包含柱状图、饼状图、折线图、直角坐标系、标题、图例、提示框、标注、数据区域缩放、工具栏组件。

二、接口说明如下:

  1. containerID:html容器的id【string】
  2. title:图表标题【string】;
  3. subTitle:图表子标题【string】;
  4. xName:x轴名称【string】;
  5. yName:y轴名称【string】;
  6. unit:y轴单位【string】;
  7. click:图表click事件【function】;
  8. xViewRange:x轴显示范围【[min,max]】;
  9. yViewRange:y轴显示范围【[min,max]】;
  10. data:图表数据;
  11. function:show(p_type):显示图表。p_type【string】,值为"bar","line","pie"中的一个值;

图表数据格式示例如下:

[{name:"个数",values:
        {
            "a":1,
            "b":2
        }},{name:"面积",values:
    {  
        "a":0.1,
        "b":0.2
    }}

]

说明:

  1. 数据为数组;
  2. 数据子项:

    name:数据名称;

    values:数据对象,其中key为数据名称;值为数据值;

三、示例:

 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript" src="/jslib/echarts/echarts3.min.js"></script>
<script type="text/javascript" src="/jslib/echarts/EChart.js"></script>
</head>
<body> <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="height:400px"></div> </body>
</html>

页面代码

页面引入echarts库echarts3.min.js和工具类EChart.js,在body中为echarts准备一个容器<div id="main"></div>

 var myChart;
$(document).ready(function(){ var data=[{name:"2014年销量",values:
{ // yfileds[0]
"衬衫":1,
"羊毛衫":2,
"雪纺衫":3,
"裤子":4,
"高跟鞋":5,
"袜子":6
}},{name:"2015年销量",values:
{ // yfileds[1]
"衬衫":2,
"羊毛衫":3,
"雪纺衫":4,
"裤子":5,
"高跟鞋":6,
"袜子":7
}},{name:"2016年销量",values:
{ // yfileds[1]
"衬衫":1,
"羊毛衫":5,
"雪纺衫":2,
"裤子":6,
"高跟鞋":7,
"袜子":6
}}
]; // 基于准备好的dom,初始化echarts实例
myChart = new EChart({
title:"各类服装年度销量统计",
subTitle:"2014-2016",
yName:"销量",
xName:"服装类型",
containerID:"main",
data:data,
unit:"套",
click:function(p_params){
alert(p_params.name);
},
xViewRange:[0,24]
}); myChart.show("bar");
});

js代码

效果图:

代码地址:http://git.oschina.net/wander_chang/ECharts_tools

最新文章

  1. 【转】线程、Thread类和线程终止
  2. dubbo模块组织方式
  3. Nginx-limit_req限速配置示例
  4. QT中可以用QProgressBar或着QProgressDialog来实现进度条
  5. 使用javascript获取网址的各个参数
  6. SSH常用命令选项
  7. ls Common Command-Line Options
  8. java里面List和Array的区别是什么?
  9. angularjs中ng-switch的用法
  10. Netty In Action中文版 - 第一章:Netty介绍
  11. 我的第一次windows规划
  12. oracle_恢复流程图
  13. B树(B-树)
  14. PHP文件操作,多行句子的读取,file()函数,file_get_contents()函数,file_put_contents()函数,is_file,统计网站pv (访问量),文件的复制 copy,文件重命名 rename,删除文件 unlink
  15. docker 架构
  16. Mysql事务处理详细讲解及完整实例下载
  17. HDU--2011
  18. nexus-2.14.2-01-bundle构建maven私服
  19. JSP学习1---创建一个简单的jsp程序
  20. Java 容器 &amp; 泛型:一、认识容器

热门文章

  1. Golang匿名函数
  2. python简说(二十三)发邮件
  3. 对客户端攻击:adobe_toolbutton
  4. 一些常用的mysql语句实例-以后照写2
  5. (转)Understanding Memory in Deep Learning Systems: The Neuroscience, Psychology and Technology Perspectives
  6. NLP related basic knowledge with deep learning methods
  7. computed 计算选项
  8. 剥开比原看代码03:比原是如何监听p2p端口的
  9. ElasticSearch实战——.Net Core中的应用
  10. hihoCoder 1145 幻想乡的日常(树状数组 + 离线处理)