ECharts图表是基于Canvas,纯Javascript图表库,基于BSD开源协议,官网地址:http://echarts.baidu.com/index.html

需要先下载插件:https://github.com/ecomfe/echarts/archive/1.4.1.zip

1. 首先需要在文件中引入JS库,可以使用百度的CDN

<script src="http://s1.bdstatic.com/r/www/cache/ecom/esl/1-6-10/esl.js"></script>

2. 之后创建一个用于显示图表的DIV

<div id="pie" style="height:400px"></div>

<div id="bar" style="height:400px"></div>

3. 配置加载的图表类型及路径

<script type="text/javascript">
// 路径配置
require.config({
paths:{
'echarts' : 'http://echarts.baidu.com/build/echarts',
'echarts/chart/bar' : 'http://echarts.baidu.com/build/echarts',
'echarts/chart/pie' : 'http://echarts.baidu.com/build/echarts'
}
});
</script>

4. 配置图表数据

optionpie = {
  title: {
    text: '2014年04月客户总满意度比例图',subtext: '测试人员',x: 'center'
  },
  tooltip: {
    trigger: 'item',
    formatter: "{a}<br/>{b} : {c} ({d}%)"
  },
  legend: {
    orient: 'vertical',
    x: 'left',
    data: ['满意', '不满意']
  },
  toolbox: {
    show: true,
    feature: {
      restore: true,
      saveAsImage: true
    }
  },
  calculable: true,
  series: [
  {
    name: '总满意度百分比',
    type: 'pie',
    radius: '55%',
    center: ['50%', 225],
    data: [
    { value: 100, name: '满意' },
    { value: 16, name: '不满意'}
  ]
  }
  ]
}; option = {
  title: {
    text: '2014年04月客户满意度分布图',subtext: '测试人员',x: 'left'
  },
  tooltip: {
    trigger: 'axis',
    formatter: "{b}<br/>{a0} : {c0}<br/>{a1} : {c1}"
  },
  legend: {
    x: 'right',
    padding: [5,70,5,5],
    data: ['满意', '不满意']
  },
  toolbox: {
    show: true,
    feature: {
      restore: true,
      saveAsImage: true
    }
  },
  calculable: true,
  xAxis: [
  {
    type: 'category',
    data: ['客服人员满意度', '维修人员满意度', '售后人员满意度']
  }
  ],
  yAxis: [
  {
    type: 'value',
    splitArea: { show: true }
  }
  ],
  series: [
  {
    name: '满意',
    type: 'bar',
    radius: '55%',
    center: ['50%', 225],
    data: [10, 5, 8]},
  {
    name: '不满意',
    type: 'bar',
    radius: '55%',
    center: ['50%', 225],
    data: [2, 4, 6]}
  ]
};

5. 将数据显示在图表中

require(
[
  'echarts',
  'echarts/chart/pie',
  'echarts/chart/bar'
],
function (ec) {
  //饼状图
  var pieChart = ec.init(document.getElementById('pie'));
  pieChart.setOption(optionpie);
  
  //柱状图
  var myChart = ec.init(document.getElementById('bar'));
  myChart.setOption(option);
}
)

通过以上即可完成图表的配置,这里附上完整的代码

 <!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>Demo</title>
<!-- 来自百度CDN -->
<script src="http://s1.bdstatic.com/r/www/cache/ecom/esl/1-6-10/esl.js"></script>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="pie" style="height:400px"></div> <div id="bar" style="height:400px"></div>
<script type="text/javascript">
// 路径配置
require.config({
paths:{
'echarts' : 'http://echarts.baidu.com/build/echarts',
'echarts/chart/bar' : 'http://echarts.baidu.com/build/echarts',
'echarts/chart/pie' : 'http://echarts.baidu.com/build/echarts'
}
}); optionpie = {
title: {
text: '2014年04月客户总满意度比例图',subtext: '测试人员',x: 'center'
},
tooltip: {
trigger: 'item',
formatter: "{a}<br/>{b} : {c} ({d}%)"
},
legend: {
orient: 'vertical',
x: 'left',
data: ['满意', '不满意']
},
toolbox: {
show: true,
feature: {
restore: true,
saveAsImage: true
}
},
calculable: true,
series: [
{
name: '总满意度百分比',
type: 'pie',
radius: '55%',
center: ['50%', 225],
data: [
{ value: 100, name: '满意' },
{ value: 16, name: '不满意'}
]
}
]
};
option = {
title: {
text: '2014年04月客户满意度分布图',subtext: '测试人员',x: 'left'
},
tooltip: {
trigger: 'axis',
formatter: "{b}<br/>{a0} : {c0}<br/>{a1} : {c1}"
},
legend: {
x: 'right',
padding: [5,70,5,5],
data: ['满意', '不满意']
},
toolbox: {
show: true,
feature: {
restore: true,
saveAsImage: true
}
},
calculable: true,
xAxis: [
{
type: 'category',
data: ['客服人员满意度', '维修人员满意度', '售后人员满意度']
}
],
yAxis: [
{
type: 'value',
splitArea: { show: true }
}
],
series: [
{
name: '满意',
type: 'bar',
radius: '55%',
center: ['50%', 225],
data: [10, 5, 8]},
{
name: '不满意',
type: 'bar',
radius: '55%',
center: ['50%', 225],
data: [2, 4, 6]}
]
};
require(
[
'echarts',
'echarts/chart/pie',
'echarts/chart/bar'
],
function (ec) {
var pieChart = ec.init(document.getElementById('pie'));
pieChart.setOption(optionpie);
var myChart = ec.init(document.getElementById('bar'));
myChart.setOption(option);
}
)
</script>
</body>

完整代码复制到html中可以直接运行

完整的API可以参考官网:http://echarts.baidu.com/doc/doc.html

  

ECharts开源图表使用方法简单介绍的更多相关文章

  1. InputStreamReader 和 OutputStreamWriter类使用方法简单介绍,及演示。

    InputStreamReader 和 OutputStreamWriter类使用方法简单介绍. 一.InputStreamReader类 InputStreamReader 将字节流转换为字符流.是 ...

  2. 基于SIP和RTP协议的开源VOIP之QuteCom简单介绍

    **************************************************************************************************** ...

  3. Android Mediaplayer各种属性和方法简单介绍

    主要涉及类:MediaPlayer (1) 当一个MediaPlayer对象被创建或者调用reset()方法之后,它处于空闲状态,调用release()方法后处于结束状态 1,一个MediaPlaye ...

  4. eclipse IDE使用git方法简单介绍

    eclipse下使用git插件上传代码至github 1.eclipse下安装git eclipse  git 插件的安装. 点击 Help->Install New Software-> ...

  5. awk基本使用方法简单介绍

    之前说过sed, 今天来说awk, 它也是一个文本处理器. 是linux下的一个命令, 比sed更强大. 搞linux开发, 尤其是后台开发, 这个命令差点儿必需要用到. awk这三个字母分别代表其三 ...

  6. java类中的static成员变量和static方法简单介绍,持续补充

    一.静态成员变量 1.属于整个类而不是某个对象实例,所以可以直接通过类名和对象名去调用. 2.静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收 二.静态方 ...

  7. python 子进程 subpocess 的使用方法简单介绍

    python的子进程嘛,就是利用python打开一个子进程(当然像是一句废话),但是可能和我们理解的不太一样. 一:如何理解? 我们可能的理解:多开一个进程运行某个python函数(如果只想实现这个功 ...

  8. Python Appium 元素定位方法简单介绍

    Python  Appium  元素定位 常用的八种定位方法(与selenium通用) # id定位 driver.find_element_by_id() # name定位 driver.find_ ...

  9. java 多线程 start方法 run方法 简单介绍。

    一 start开启一个多线程, run 只是一个内部的方法. package com.aaa.threaddemo; /* * start方法的作用? * 在 Java中启动多线程调用的是start方 ...

随机推荐

  1. Swift语法之 ---- ?和!区别

    1.常量和变量 Swift语言中是用let来定义常量,并且要初始化.var来定义变量,在let或者var后面申明类型,冒号+空格,然后再加上类型名称. 2.optional(可选)变量 可选变量用于处 ...

  2. Web Server PROPFIND Method internal IP Discosure

    Title:Web Server PROPFIND Method internal IP Discosure  --2012-11-09 09:47 Nessus扫描出来一个安全缺陷,Web Serv ...

  3. SQL Server 与 Entity Framework 级联删除

    SQL Server 级联设置我就不多说了,网上很多教程. 我想提的是 cycles or multiple cascade paths 的问题. 简单的说如果你的级联设置不是一个树型,而是一个带有循 ...

  4. Java框架学习之Hibernate入门

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDB ...

  5. HP DL160 Gen9服务器集群部署文档

    HP DL160 Gen9服务器集群部署文档 硬件配置=======================================================Server        Memo ...

  6. WPF Customize TabControl

    有篇很好的文章 http://www.blogs.intuidev.com/post/2010/01/25/TabControlStyling_PartOne.aspx 详细介绍了如何Customiz ...

  7. 模拟Vue之数据驱动2

    一.前言 在随笔“模拟Vue之数据驱动1”结尾处,我们说到如果监听的属性是个对象呢?那么这个对象中的其他属性岂不就是监听不了了吗? 如下: 倘若user中的name.age属性变化,如何知道它们变化了 ...

  8. Python进阶(面向对象编程基础)(二)

    1.初始化实例属性 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'ziv·chan' #定义Person类的__init__方法 ...

  9. 带有中文的url和NSString中文的转换

    NSString *url = @"http://tw.news.yahoo.com/麵包魂東京吸睛-粉絲包圍導演-061222049.html"; NSLog(@"ur ...

  10. ARC代码和非ARC代码 混用

    选中工程->TARGETS->相应的target然后选中右侧的“Build Phases”,向下就找到“Compile Sources”了.然后在相应的文件后面添加:-fobjc-arc参 ...