Echarts柱狀圖簡單應用

     在對比了HighCharts以後,由於版權問題,仍是決定在項目中採用Echarts來作圖表展現。javascript

     Echarts更新速度很快,已經更新到Echarts3了,感受3的表現更炫、更酷,聽說性能更好,但考慮到項目的總體風格,仍是採用Echarts2的版本。html

   在項目正式開始以前,作一個簡單的Demo,結合EasyUI的Grid呈現一個柱狀圖,後期再考慮對Echarts的js進行二次封裝。java

     Echarts的使用跟HighCharts很相似,以前基於HighCharts作了一個Demo以後,熟悉了這類框架的基本用法。ajax

     官方提供的Demo和說明文檔很是詳細,照着文檔和demo能夠很輕鬆的作出想要的各類圖形。json

     園子裏也有熱心的朋友用.net作了封裝,方便.net用戶更好的使用Echarts。博客地址:echarts .NET類庫開源後端

   簡單三步:數組

  第一步,添加Echarts引用echarts

 <script type="text/javascript" src="../echart/echarts.js"></script>

      第二步,添加一個容器框架

 <div id="mainMap" style="height: 400px; width: 55%; float: right;"></div>

      第三步,js實現,後端用.net的handler作json數據輸出性能

  1 <script type="text/javascript">  
  2 function getData(keyWord) {//Ajax方式動態獲取json格式數據
  3                 $.ajax({
  4                     type: "get",
  5                     dataType: "json",
  6                     url: "xxxxx.ashx",
  7                     data: { t: 'm', keyWord: keyWord },
  8                     success: function (data) {
  9                         if (data.length == 0) {
 10                             alert("無數據!");
 11                         } else {
 12                             DrawBar(data, "mainMap")
 13                         }
 14                     },
 15                     error: function () {
 16                         alert("加載數據失敗,請重試!");
 17                     }
 18                 });
 19             }
 20  function DrawBar(data, id) {
 21                 var xData = [];
 22                 var datas = [];
 23                 var WEIGHT = [];
 24                 var GROSSWEIGHT = []
 25                 for (var i = 0; i < data.length; i++) {//將json格式轉換爲Echarts的數組格式
 26                     xData.push(data[i].MODIFYON || ",");
 27                     datas.push({ name: data[i].MODIFYON, value: data[i].SUM || 0 });
 28                     WEIGHT.push({ name: data[i].WEIGHT, value: data[i].WEIGHT || 0 });
 29                     GROSSWEIGHT.push({ name: data[i].GROSSWEIGHT, value: data[i].GROSSWEIGHT || 0 });
 30                 }
 31                 // 路徑配置
 32                 require.config({
 33                     packages: [{
 34                         name: 'echarts',
 35                         location: '/echart/echarts/src',
 36                         main: 'echarts'
 37                     }]
 38                 });
 39                 // 按需加載圖形
 40                 require(
 41                     [
 42                         'echarts',
 43                         'echarts/chart/line',
 44                         'echarts/chart/gauge',
 45                         'echarts/chart/bar'
 46                     ],
 47                     function (ec) {
 48                         // 找到div容器,初始化echarts圖表
 49                         var myChart = ec.init(document.getElementById(id));
 50                         var option = {
 51                             tooltip: {
 52                                 show: true
 53                             },
 54                             title: {
 55                                 text: '每日過磅數據',
 56                                 subtext: '我是副標題'
 57                             },
 58                             legend: {
 59                                 data: ['總件數', '總淨重', '總毛重']
 60                             },
 61                             toolbox: {
 62                                 show: true,
 63                                 feature: {
 64                                     dataView: { show: true, readOnly: false },
 65                                     magicType: { show: true, type: ['line', 'bar', 'stack', 'tiled'] },
 66                                     restore: { show: true },
 67                                     saveAsImage: { show: true }
 68                                 }
 69                             },
 70                             xAxis: [
 71                                 {
 72                                     type: 'category',
 73                                     data: xData
 74                                 }
 75                             ],
 76                             yAxis: [
 77                                 {
 78                                     type: 'value'
 79                                 }
 80                             ],
 81                             series: [
 82                                 {
 83                                     "name": "總件數",
 84                                     "type": "bar",
 85                                     "data": datas
 86                                 }, {
 87                                     "name": "總淨重",
 88                                     "type": "bar",
 89                                     "data": WEIGHT
 90                                 }, {
 91                                     "name": "總毛重",
 92                                     "type": "bar",
 93                                     "data": GROSSWEIGHT
 94                                 }
 95                             ]
 96                         };
 97                         myChart.setOption(option);
 98                     }
 99                 );
100             }
101 </script>

  實現的效果圖:

相關文章
相關標籤/搜索