echarts 初始化失敗問題。



dom

實例容器,一般是一個具有高寬的div元素。

注:如果div是隱藏的,ECharts 可能會獲取不到div的高寬導致初始化失敗,這時候可以明確指定divstyle.widthstyle.height,或者在div顯示后手動調用 echartsInstance.resize 調整尺寸。

ECharts 3 中支持直接使用canvas元素作為容器,這樣繪制完圖表可以直接將 canvas 作為圖片應用到其它地方,例如在 WebGL 中作為貼圖,這跟使用 echartsInstance.getDataURL 生成圖片鏈接相比可以支持圖表的實時刷新。


官網api中寫的挺清楚的,一般在用到tab切換時,初始化失敗。

解決方案:
1、規定div 的width 與 height。(不可規定百分比)
缺點:不知客戶端分辨率,定死不是一個合理的解決方案。


2、動態生成div 的寬高。
var mainContainer = document.getElementById('main');
//用於使chart自適應高度和寬度,通過窗體高寬計算容器高寬
var resizeMainContainer = function () {
    mainContainer.style.width = window.innerWidth*0.8+'px';
    mainContainer.style.height = window.innerHeight*0.3+'px';
};
//設置div容器高寬
resizeMainContainer();
// 初始化圖表
var mainChart = echarts.init(mainContainer);
$(window).on('resize',function(){//
    //屏幕大小自適應,重置容器高寬
    resizeMainContainer();
    mainChart.resize();
});






免責聲明!

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



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