javascript - echarts图表在div尺寸变化时的自适应
PHP中文网
PHP中文网 2017-04-11 13:15:40
[JavaScript讨论组]



如何让第二张图后面没有空白

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(6)
ringa_lee

<!doctype html>
<html lang="us">
<head>

<meta charset="utf-8">
<title></title>
<script src="echarts.min.js"></script>

</head>
<body>

<p id="main" style="width: 600px;height:400px;"></p>

</body>
</html>
<script src="jquery.js"></script>
<script>

var myChart = document.getElementById('main');

//自适应宽高
var myChartContainer = function () {
    myChart.style.width = window.innerWidth+'px';
    myChart.style.height = window.innerHeight+'px';
};
myChartContainer();
var myChart = echarts.init(myChart);

option = {
    title: {
        text: '基础雷达图'
    },
    radar: {
        indicator: [
           { name: '销售', max: 6500},
           { name: '管理', max: 16000},
           { name: '信息技术', max: 30000},
           { name: '客服', max: 38000},
           { name: '研发', max: 52000},
           { name: '市场', max: 25000}
        ],
        name:{
            formatter:function(v){
                console.log(v);return v;
            }
        },
        triggerEvent:true
    },
    series: [{
        name: '预算vs开销',
        type: 'radar',
        data : [
            {
                value : [4300, 10000, 28000, 35000, 50000, 19000],
                name : '预算分配'
            },
             {
                value : [5000, 14000, 28000, 31000, 42000, 21000],
                name : '实际开销'
            }
        ]
    }]
};

 myChart.setOption(option);
 
 //浏览器大小改变时重置大小
 window.onresize = function () {
    myChartContainer();
    myChart.resize();
};

</script>

伊谢尔伦

需要绑定一个resize事件,然后Echarts才能在宽度改变的时候重新渲染

阿神
var myChart = echarts.getInstanceByDom(document.getElementById(id)); //通过DOM id获取到echarts实例
window.onresize = function(){
    myChart.resize(); 
});

首先你得保证图表的容器是自适应的

黄舟
var myChart = echarts.getInstanceByDom(document.getElementById(id)); //通过DOM id获取到echarts实例
setTimeout(function(){
    window.onresize = function(){
    myChart.resize(); 
});
},200)
PHP中文网

window.onresize = function(){

myChart.resize(); 

});
只要在改变宽度时重新渲染就可以了

ringa_lee
window.onresize = function(){
  myEchart.resize(); //myEchart为echarts.init初始化得到的对象
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号