​​

1. eCharts官网 http://echarts.baidu.com/index.html。

    这是官网的简介:

    ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10/11,chrome,firefox,Safari等),底层依赖轻量级的Canvas类库ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。

支持折线图(区域图)、柱状图(条状图)、散点图(气泡图)、K线图、饼图(环形图)、雷达图(填充雷达图)、和弦图、力导向布局图、地图、仪表盘、漏斗图等11类图表,同时提供标题,详情气泡、图例、值域、数据区域、时间轴、工具箱等7个可交互组件,支持多图表、组件的联动和混搭展现。


首先,由于eCharts底层依赖轻量级的Canvas类库ZRender​,所以我们必须下载ZRender文件,地址:http://ecomfe.github.io/zrender/

然后,我们需要下载echarts-2.0.2,这是我们通过eCharts进行前端图表开发所必需的。如下图红框圈起的部分,是我在练习eCharts图表展现所引入的目录:

eCharts使用图表简单示例_数据

2. 简单图表的开发

    在html页面引入esl.js文件:



[html] view plaincopy





  1. <script type="text/javascript" src="./js/echarts-2.0.2/src/esl.js"></script>  


 下面的html代码段是要展示图表的部分:

     <div id="myChart" style="height: 400px; width:800px; border: 1px solid #ccc; padding: 10px;"></div>

    必须设置这个div的高度和宽度来指定图表所展示的大小,不然是看不到图表的。


紧接着,就是最关键的js部分:




[javascript] view plaincopy





  1. <script type="text/javascript">  
  2.             /* 
  3.             * 按需加载 
  4.             * 引入echart.js依赖的zrender.js, 再引入echart.js 
  5.             */  
  6.             require.config({  
  7.                 packages: [  
  8.                     {  
  9.                         name: 'zrender',  
  10.                         location: './js/zrender-2.0.2/src', // zrender与echarts在同一级目录  
  11.                         main: 'zrender'  
  12.                     },  
  13.                     {  
  14.                         name: 'echarts',  
  15.                         location: './js/echarts-2.0.2/src',  
  16.                         main: 'echarts'  
  17.                     }  
  18.                 ]  
  19.             });  

  20.         /***/  
  21.         var option = {  
  22.                 title : {  
  23.                     text: '未来一周气温变化',  
  24.                     subtext: '测试数据'  
  25.                 },  
  26.                 tooltip : {  
  27.                     trigger: 'axis'//item  axis  
  28.                 },  
  29.                 legend: {  
  30.                     data:['最高气温','最低气温']  
  31.                 },  
  32.                 toolbox: {  
  33.                     show : true,  
  34.                     feature : {  
  35.                         mark : {show: true},  
  36.                         dataView : {show: true, readOnly: false},  
  37.                         magicType : {show: true, type: ['line', 'bar']},  
  38.                         restore : {show: true},  
  39.                         saveAsImage : {show: true}  
  40.                     }  
  41.                 },  
  42.                 calculable : true,  
  43.                 xAxis : [  
  44.                     {  
  45.                         type : 'category',  
  46.                         boundaryGap : false,  
  47.                         data : ['周一','周二','周三','周四','周五','周六','周日']  
  48.                     }  
  49.                 ],  
  50.                 yAxis : [  
  51.                     {  
  52.                         type : 'value',  
  53.                         axisLabel : {  
  54.                             formatter: '{value} °C'  
  55.                         },  
  56.                         splitNumber:10  
  57.                     }  
  58.                 ],  
  59.                 series : [  
  60.                     {  
  61.                         name:'最高气温',  
  62.                         type:'line',  
  63.                         data:[11, 11, 15, 13, 12, 13, 10],  
  64.                         markPoint : {  
  65.                             data : [  
  66.                                 {type : 'max', name: '最大值'},  
  67.                                 {type : 'min', name: '最小值'}  
  68.                             ]  
  69.                         },  
  70.                         markLine : {  
  71.                             data : [  
  72.                                 {type : 'average', name: '平均值'}  
  73.                             ]  
  74.                         }  
  75.                     },  
  76.                     {  
  77.                         name:'最低气温',  
  78.                         type:'line',  
  79.                         data:[1, -2, 2, 5, 3, 2, 0],  
  80.                         markPoint : {  
  81.                             data : [  
  82.                                 {name : '周最低', value : -2, xAxis: 1, yAxis: -1.5}  
  83.                             ]  
  84.                         },  
  85.                         markLine : {  
  86.                             data : [  
  87.                                 {type : 'average', name : '平均值'}  
  88.                             ]  
  89.                         }  
  90.                     }  
  91.                 ]  
  92.             };  


  93.             /* 
  94.             *按需加载 
  95.             */  
  96.             require(  
  97.                 [  
  98.                     'echarts',  
  99.                     'echarts/chart/line',  
  100.                     'echarts/chart/bar'  
  101.                 ],  
  102.                 //渲染ECharts图表  
  103.                 function DrawEChart(ec) {  
  104.                     //图表渲染的容器对象  
  105.                     var chartContainer = document.getElementById("myChart");  
  106.                     //加载图表  
  107.                     var myChart = ec.init(chartContainer);  
  108.                     myChart.setOption(option);  
  109.                 }  
  110.             );  
  111.         </script>  


然后发布应用,输入访问路径,进行访问,效果如下图:

eCharts使用图表简单示例_数据_02