echarts的簡單應用之(一)柱形圖


  前段時間做項目需要繪制一些圖表來展示信息,從網上資料來看用的比較多的是百度開源的echarts。echarts的官網上有API以及demo。上面的圖形都是非常炫的,不過都是靜態

數據,我們做項目時不可能都用靜態數據,特別是做監控、管理等方面,需要前后台數據的交互。下面是我得簡單總結,就直接貼代碼了。

  首先是從官網上學來的一個demo,其中用到的js文件都可以官網上下載到,代碼如下:

 1 <!DOCTYPE html>
 2 <head>
 3 <meta charset="utf-8">
 4 <title>ECharts-demo-柱形圖</title>
 5 <script src="http://echarts.baidu.com/build/dist/echarts-all.js"></script>
 6 </head>
 7 <body>
 8     <!-- 為ECharts准備一個具備大小(寬高)的Dom -->
 9     <div id="main" style="height: 400px"></div>
10     <!-- ECharts單文件引入 -->
11     <script type="text/javascript">
12         // 基於准備好的dom,初始化echarts圖表
13         var myChart = echarts.init(document.getElementById('main'));
14 
15         var option = {
16             tooltip : {
17                 show : true
18             },
19             legend : {
20                 data : [ '銷量' ]
21             },
22             xAxis : [ {
23                 type : 'category',
24                 data : [ "襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子" ]
25             } ],
26             yAxis : [ {
27                 type : 'value'
28             } ],
29             series : [ {
30                 "name" : "銷量",
31                 "type" : "bar",
32                 "data" : [ 5, 20, 40, 10, 10, 20 ]
33             } ]
34         };
35 
36         // 為echarts對象加載數據 
37         myChart.setOption(option);
38     </script>
39 </body>

其運行結果如圖:

  從官網上的實例中可以看到各種不同的圖形,我們可以直接在網上編輯,修改成我們想要的模型,然后將整個option復制到demo中的option上,就可以得到一個靜態數據的圖形。

接下來就是從后台取數據了。代碼如下:(只貼出option部分和ajax請求的部分)

 1     var levels= [];              // 等級的數組
 2     var nums= [];        // 數量的數組   
 3 
 4  var myChart = echarts.init(main[0]);   //  main 是設置的圖表的id
 5  $.ajax({
 6             type: "post",
 7             url : "getPieInfo.action",
 8             dataType: "json",
 9             data : {},
10             success: function(result){
11                  if (result != null && result.length > 0) {
12                      for(var i=0;i<result.length;i++){
13                          levels.push(result[i].level);
14                          nums.push(result[i].num);
15                      }
16                  }
17                 
18                  myChart.setOption({        //載入數據
19                      tooltip: {
20                          show: true,
21                          trigger: 'axis',
22                      },
23                      legend: {
24                          data:['級別統計']
25                      },
26                      toolbox: {
27                          show : true,
28                          feature : {
29                              mark : {show: true},        // 輔助線標志
30                              dataView : {show: true, readOnly: false},    // 數據視圖
31                              magicType : {show: true, type: ['line', 'bar']},    // 動態類型轉換(折線柱形互轉)
32                              restore : {show: true},        // 還原
33                              saveAsImage : {show: true}        // 保存圖片
34                          }
35                      },
36                      calculable : true,        // 啟用拖拽,重新計算
37                          xAxis: {
38                              type : 'category',
39                              data: levels //填入X軸數據
40                          },
41                          yAxis : {
42                           type : 'value'
43                       },
44                          series: {
45                              name: '數量',
46                              type: 'bar',
47                              data: nums
48                          }    
49                      });
50             }
51         })

后台代碼就是普通的SSM框架寫的,這里不多敘述。

其數據庫如下:

  最終運行結果:

 

 如果文中有什么錯誤或問題可以和我交流,郵箱hellojylee@163.com.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM