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();
});
 
1
var mainContainer = document.getElementById('main');
2
//用于使chart自适应高度和宽度,通过窗体高宽计算容器高宽
3
var resizeMainContainer = function () {
4
    mainContainer.style.width = window.innerWidth*0.8+'px';
5
    mainContainer.style.height = window.innerHeight*0.3+'px';
6
};
7
//设置div容器高宽
8
resizeMainContainer();
9
// 初始化图表
10
var mainChart = echarts.init(mainContainer);
11
$(window).on('resize',function(){//
12
    //屏幕大小自适应,重置容器高宽
13
    resizeMainContainer();
14
    mainChart.resize();
15
});





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JavaOpsPro

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值