Echarts製作圖表教程一------柱狀圖


簡介

ECharts,縮寫來自Enterprise Charts,商業級數據圖表,是百度的一個開源的數據可視化工具,業界給予了很多讚譽,這裏不多說,需要了解詳情的同學參見官網。我簡略看了下,最貼切的地方在於本地化支持,比如對於中國地圖的支持。

案例欣賞

-----------------------
--------------------------------------------------------------
        ===案例一簡單條形圖===案例二 條形、折線圖混搭===
--------------------------------------------------------------
----------------------

具體實現

 簡單條形圖

先來一個最簡單的案例,實現一個條形圖,代碼我放在codepen喲,大家可以移步預覽效果先。


預先準備好具有寬和高的網頁元素,我們將用它繪製數據表。

[html] view plain copy
 print?在CODE上查看代碼片派生到我的代碼片
  1. <div id="main" style="width:600px;height:400px"></div>  

然後我們導入Echarts類庫,做好準備。也可以自己在官網上下載百度一下就有了;

[html] view plain copy
 print?在CODE上查看代碼片派生到我的代碼片
  1. <script src="http://echarts.baidu.com/build/dist/echarts.js"></script>  

然後就是重頭戲,我們來繪製數據表,首先配置路徑,接着使用Echarts開始繪圖。命名爲require.js 在前面的html中用

<script src="js/require.js"></script>中導入

[javascript] view plain copy
 print?在CODE上查看代碼片派生到我的代碼片
  1. // 路徑配置  
  2. require.config({  
  3.   paths: {  
  4.     echarts: 'http://echarts.baidu.com/build/dist'  
  5.   }  
  6. });  
  7.   
  8. // 使用  
  9. require(  
  10.   [  
  11.     'echarts',  
  12.     'echarts/chart/bar'// 使用柱狀圖就加載bar模塊,按需加載  
  13.   ],  
  14.   function (ec) {  
  15.     // 基於準備好的dom,初始化echarts圖表  
  16.     var myChart = ec.init(document.getElementById('main'));   
  17.     //設置數據  
  18.     var option = {  
  19.         
  20.     };  
  21.   
  22.     // 爲echarts對象加載數據   
  23.     myChart.setOption(option);   
  24.   }  
  25. );  

重點是option裏的設置,設置座標軸、設置數據。

[javascript] view plain copy
 print?在CODE上查看代碼片派生到我的代碼片
  1. var option = {  
  2.       //設置座標軸  
  3.       xAxis : [  
  4.         {  
  5.           type : 'category',  
  6.           data : ["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子","帽子","圍巾"]  
  7.         }  
  8.       ],  
  9.       yAxis : [  
  10.         {  
  11.           type : 'value'  
  12.         }  
  13.       ],  
  14.       //設置數據  
  15.       series : [  
  16.         {  
  17.           "name":"銷量",  
  18.           "type":"bar",  
  19.           "data":[5, 20, 40, 10, 24, 20,24,32],  
  20.         }  
  21.       ]  
  22.     };  


我們可以設置圖標標題、圖例、提示等,代碼如下,效果如下圖所示。

[javascript] view plain copy
 print?在CODE上查看代碼片派生到我的代碼片
  1. var option = {  
  2.      //設置標題  
  3.      title:{  
  4.        text:'銷量圖',  
  5.        subtext:'純屬捏造,如有雷同,人品爆發。'  
  6.      },  
  7.      //設置提示  
  8.      tooltip: {  
  9.        show: true  
  10.      },  
  11.      //設置圖例  
  12.      legend: {  
  13.        data:['銷量']  
  14.      },  
  15.      //設置座標軸  
  16.      xAxis : [  
  17.        {  
  18.          type : 'category',  
  19.          data : ["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子","帽子","圍巾"]  
  20.        }  
  21.      ],  
  22.      yAxis : [  
  23.        {  
  24.          type : 'value'  
  25.        }  
  26.      ],  
  27.      //設置數據  
  28.      series : [  
  29.        {  
  30.          "name":"銷量",  
  31.          "type":"bar",  
  32.          "data":[5, 20, 40, 10, 24, 20,24,32],  
  33.        }  
  34.      ]  
  35.    };  


======================ok,華麗的分割線,之後我來點複雜的==========================

    條形圖折線圖混搭

加點料,來電混搭,直線圖加上條形圖,同時畫平均線、提示最大最小值,同樣代碼放在codepen,移步預覽效果先。


當我們需要混搭的時候,首先需要在require里加載需要使用的圖庫,然後在series裏填寫折線圖的數據就可以了。代碼如下,因爲註釋已經寫得很清楚了,就不在囉嗦了,大家直接研究代碼。

[javascript] view plain copy
 print?在CODE上查看代碼片派生到我的代碼片
  1. // 路徑配置  
  2. require.config({  
  3.   paths: {  
  4.     echarts: 'http://echarts.baidu.com/build/dist'  
  5.   }  
  6. });  
  7.   
  8. // 使用  
  9. require(  
  10.   [  
  11.     'echarts',  
  12.     'echarts/chart/bar'// 使用柱狀圖就加載bar模塊,按需加載  
  13.     'echarts/chart/line'  
  14.   ],  
  15.   function (ec) {  
  16.     // 基於準備好的dom,初始化echarts圖表  
  17.     var myChart = ec.init(document.getElementById('main'));   
  18. //設置數據  
  19.     var option = {  
  20.       //設置標題  
  21.       title:{  
  22.         text:'銷量圖',  
  23.         subtext:'純屬捏造,如有雷同,人品爆發。'  
  24.       },  
  25.       //設置提示  
  26.       tooltip: {  
  27.         show: true  
  28.       },  
  29.       //設置圖例  
  30.       legend: {  
  31.         data:['銷量']  
  32.       },  
  33.       //設置座標軸  
  34.       xAxis : [  
  35.         {  
  36.           type : 'category',  
  37.           data : ["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子","帽子","圍巾"]  
  38.         }  
  39.       ],  
  40.       yAxis : [  
  41.         {  
  42.           type : 'value'  
  43.         }  
  44.       ],  
  45.       //設置數據  
  46.       series : [  
  47.         //條形圖  
  48.         {  
  49.           "name":"銷量",  
  50.           "type":"bar",  
  51.           "data":[5, 20, 38, 10, 24, 20,24,32]  
  52.         },  
  53.         //折線圖  
  54.          {  
  55.           "name":"銷量",  
  56.           "type":"line",  
  57.           "data":[5, 20, 38, 10, 24, 20,24,32],  
  58.            //繪製平均線  
  59.            markLine : {  
  60.              data : [  
  61.                {type : 'average', name: '平均值'}  
  62.              ]  
  63.            },  
  64.           //繪製最高最低點  
  65.           markPoint : {  
  66.             data : [  
  67.               {type : 'max', name: '最大值'},  
  68.               {type : 'min', name: '最小值'}  
  69.             ]  
  70.           }  
  71.         }  
  72.       ]  
  73.     };  
  74.   
  75.     // 爲echarts對象加載數據   
  76.     myChart.setOption(option);   
  77.   }  
  78. );  
發佈了16 篇原創文章 · 獲贊 32 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章