码迷,mamicode.com
首页 > 其他好文 > 详细

echarts 初始化失败问题。

时间:2018-01-07 16:03:59      阅读:593      评论:0      收藏:0      [点我收藏+]

标签:生成   als   分辨率   tran   res   cti   class   har   property   


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
});





echarts 初始化失败问题。

标签:生成   als   分辨率   tran   res   cti   class   har   property   

原文地址:https://www.cnblogs.com/QGuo/p/8227995.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!