echarts 初始化失败问题。


domhtml

实例容器,通常是一个具备高宽的div元素。canvas

注:若是div是隐藏的,ECharts 可能会获取不到div的高宽致使初始化失败,这时候能够明确指定divstyle.widthstyle.height,或者在div显示后手动调用 echartsInstance.resize 调整尺寸。api

ECharts 3 中支持直接使用canvas元素做为容器,这样绘制完图表能够直接将 canvas 做为图片应用到其它地方,例如在 WebGL 中做为贴图,这跟使用 echartsInstance.getDataURL 生成图片连接相比能够支持图表的实时刷新。
app


官网api中写的挺清楚的,通常在用到tab切换时,初始化失败。

解决方案:
一、规定div 的width 与 height。(不可规定百分比)
缺点:不知客户端分辨率,定死不是一个合理的解决方案。


二、动态生成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();
});



相关文章
相关标签/搜索