Echarts常用功能總結


之前做過柱形圖和折線圖,被前任引入的舊版本文件坑不少,再次做的時候都有些遺忘,趁項目不急的時候總結一下~

一、非模塊化——單文件引入:

1、首先毫無疑問通過script標簽引入echarts文件,官網http://echarts.baidu.com/echarts2/index.html可以下載

2、通過官網的例子結合實際補充說明

 1 // srcipt標簽式引入
 2 var myChart = echarts.init(document.getElementById('main'));
 3 
 4 // 過渡---------------------
 5 myChart.showLoading({
 6     text: '正在努力的讀取數據中...',    //loading話術
 7 });
 8 
 9 // ajax getting data...............
10 
11 // ajax callback
12 myChart.hideLoading();
13 
14 // 圖表使用-------------------
15 var option = {
16     legend: {                                   // 圖例配置
17         padding: 5,                             // 圖例內邊距,單位px,默認上下左右內邊距為5
18         itemGap: 10,                            // Legend各個item之間的間隔,橫向布局時為水平間隔,縱向布局時為縱向間隔
19         data: ['ios', 'android']
20     },
21     tooltip: {                                  // 氣泡提示配置
22         trigger: 'item',                        // 觸發類型,默認數據觸發,可選為:'axis'
23     },
24     xAxis: [                                    // 直角坐標系中橫軸數組
25         {
26             type: 'category',                   // 坐標軸類型,橫軸默認為類目軸,數值軸則參考yAxis說明
27             data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
28         }
29     ],
30     yAxis: [                                    // 直角坐標系中縱軸數組
31         {
32             type: 'value',                      // 坐標軸類型,縱軸默認為數值軸,類目軸則參考xAxis說明
33             boundaryGap: [0.1, 0.1],            // 坐標軸兩端空白策略,數組內數值代表百分比
34             splitNumber: 4                      // 數值軸用,分割段數,默認為5
35         }
36     ],
37     series: [
38         {
39             name: 'ios',                        // 系列名稱
40             type: 'line',                       // 圖表類型,折線圖line、散點圖scatter、柱狀圖bar、餅圖pie、雷達圖radar
41             data: [112, 23, 45, 56, 233, 343, 454, 89, 343, 123, 45, 123]
42         },
43         {
44             name: 'android',                    // 系列名稱
45             type: 'line',                       // 圖表類型,折線圖line、散點圖scatter、柱狀圖bar、餅圖pie、雷達圖radar
46             data: [45, 123, 145, 526, 233, 343, 44, 829, 33, 123, 45, 13]
47         }
48     ]
49 };
50 myChart.setOption(option);
51 
52 ...
53 
54 // 增加些數據------------------
55 option.legend.data.push('win');
56 option.series.push({
57         name: 'win',                            // 系列名稱
58         type: 'line',                           // 圖表類型,折線圖line、散點圖scatter、柱狀圖bar、餅圖pie、雷達圖radar
59         data: [112, 23, 45, 56, 233, 343, 454, 89, 343, 123, 45, 123]
60 });
61 myChart.setOption(option);
62 
63 ...
64 
65 // 圖表清空-------------------
66 myChart.clear();
67 
68 // 圖表釋放-------------------
69 myChart.dispose();

legend:圖例,每個圖表最多僅有一個圖例,下圖中頂部中間

toolbox:工具箱,每個圖表最多僅有一個工具箱,下圖中頂部最右邊

xAxis:橫軸數組

yAxis:縱軸數組 axisLine是數組中通用屬性  [{axisLine:{ *** }}]

 3、API說明

  http://echarts.baidu.com/echarts2/doc/doc.html#AxisAxisline

二、模塊化包引入:

通過require引入,這里說一下require的使用背景

實現JS文件文件的異步加載,避免網頁失去響應
管理模塊之間的依賴性,便於代碼的編寫和維護

 

 

 

引入require考慮到加載時長,可以放到網頁底部,也可以用async屬性,IE不支持,只支持defer,如下寫就可以(data-main指定網頁程序主模塊,若主模塊依賴於其他模塊,需要使用AMD規范定義的的defer()函數)

<script src="js/require.js" defer async="true"  data-main="js/main" ></script>
// main.js
require(['moduleA', 'moduleB', 'moduleC'], function (moduleA, moduleB, moduleC){

  // some code here

});  

 

下面是echarts官網上的引入的例子:

//from echarts example
require.config({
    packages: [
        {
            name: 'echarts',
            location: '../../src',
            main: 'echarts'
        },
        {
            name: 'zrender',
            location: '../../../zrender/src', // zrender與echarts在同一級目錄
            main: 'zrender'
        }
    ]
});

 


免責聲明!

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



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