先上圖,就是介樣子的:

所模擬的效果就是講左下角的li里面的數據取出來,然后用環形圖的展示出數據。
看代碼截圖:
1.總的框架圖:

2.循環取數據的js代碼:

3.echart提供額官方api的代碼

先來說一下for循環取出的數據吧:
1 var categorie = $(".data_items ul li"); 2 var categories = []; 3 for(var i = 0;i < categorie.length;i++){ 4 obj = {}; 5 obj.name = $(categorie[i]).find("span").html(); 6 obj.value = $(categorie[i]).find("b").html(); 7 categories.push(obj); 8 }
用jq的方法取出dom樹上的數據,categorie是一個數組,循環這個數組,取數據。在for循環外面聲明一個空數組, categories = [],里面聲明一個對象(一定在里面聲明),在外面聲明的對象,在將obj壓進數組的時候,會一直保存循環的最后一個值。然后給obj添加屬性作為echart的數據接口。最后,categories.push(obj),obj壓進數組。這個還是比較簡單的。categories這個數組將是我們往下面的框架中添加的數據接口的數組。就是上面圖示的位置。
下面一段是api的代碼,沒啥好說的,有興趣的可以研究這個框架的數據結構,設計模式,看看它為什么這么設計這段代碼:
1 // 指定圖表的配置項和數據 2 option = { 3 tooltip: { 4 trigger: 'item', 5 formatter: "{a} <br/>{b}: {c} ({d}%)" 6 }, 7 legend: { 8 orient: 'vertical', 9 x: 'left', 10 data:categories 11 }, 12 series: [ 13 { 14 name:'訪問來源', 15 type:'pie', 16 radius: ['50%', '70%'], 17 avoidLabelOverlap: false, 18 label: { 19 normal: { 20 show: false, 21 position: 'center' 22 }, 23 emphasis: { 24 show: true, 25 textStyle: { 26 fontSize: '30', 27 fontWeight: 'bold' 28 } 29 } 30 }, 31 labelLine: { 32 normal: { 33 show: false 34 } 35 }, 36 data:categories 37 } 38 ] 39 }; 40 41 // 使用剛指定的配置項和數據顯示圖表。 42 myChart.setOption(option);
結束:
echart還是很容易上手的,圖表豐富,接口簡單。很適合像我這樣的小白學習。
