ECharts學習總結(三):ECharts圖表對象的初始化(init)詳解以及注意事項


一、相關js文件的引入

這里我們采用標簽式引入文件的方式,我們引入兩個js文件,一個是esl.js文件和一個echarts.js。

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

二、ECharts對象的初始化

通過文件esl.js內封裝好的require獲得echarts接口后可實例化圖表,echarts接口僅有一個方法init,執行init時傳入一個具備大小(如果沒有指定容器的大小將會按照0大小來處理即無法看到圖表)的dom節點(width、height可被計算得到即可,不一定可見)后即可實例化出圖表對象,圖表庫實現為多實例的,同一頁面可多次init出多個圖表。圖表實例可用方法見方法,引入ECharts后的的初始化代碼如下:

// 作為入口
require(
    [
        'echarts',
        'echarts/chart/pie'
    ], 
    //回調函數內執行圖表對象的初始化
    function(ec) {
        var myChart = ec.init(document.getElementById('main'));
        myChart.setOption({...});
    }
);

// -----------------------------

// 非入口或再次使用,圖表已被加載注冊
require('echarts').init(dom).setOption({...});

// 如果需要再次使用ECharts的圖表實例,建議你還是保存init返回的圖表實例吧
var myChart = require('echarts').init(dom);
myChart.setOption({...}); 

如果你不習慣於模塊化你也可以這樣進行初始化:

//定義一個全局的圖表對象
var ECharts;
require(['echarts'], function(ec){
    //將對象保存下來
    ECharts = ec;
});
// 是的,把echarts加載后保存起來作為命名空間使用

//-----------
//接下來我們就可以進行圖表的init操作了
var myChart = ECharts.init(dom);

myChart.setOption({....});

init方法說明如下:

 

名稱 參數 描述
{ECharts} init {dom} dom,
{string | Object =} theme
初始化接口,返回ECharts實例,其中dom為圖表所在節點,theme為可選的主題,內置主題('macarons', 'infographic')直接傳入名稱,自定義擴展主題可傳入主題對象。如:
var myCharts = echarts.init(document.getElementById('main'), 'macarons');

 

注意事項:

1、再實例化之前請確保相關的js文件已經引入且路徑正確;

2、在執行圖表對象渲染方法init(dom)的時候,記住這里的dom是一個頁面容器元素的對象,請確保這個元素對象是存在的,否則執行了init(dom)方法時會報出尚未定義的錯誤;

3、dom元素一定要指定其大小,關於元素的大小我么可以通過css進行設置:

<div id="main" style="width:400px;height:300px;"></div>

也可以采用動態的javascript代碼設置其大小屬性值。


免責聲明!

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



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