echarts柱状图自适应宽高 多图表

我做的是一个页面多个图表,然后所有图表都需要自适应,首先是建了一个数组,来放这些图表对象。这是关键,不同的图表一定区分开对象。下面开始贴代码:

1、html部分:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图表自适应</title>
    <link rel="stylesheet" href="css/bootstrap2-3-1.min.css">
    <script src="js/jquery-1.11.3.js"></script>
    <script src="js/bootstrap2-3-2.min.js"></script>
    <script src="js/echarts.min.js"></script>

    <style>
        .wrap{
            height: 300px;
        }
    </style>
</head>
<body>

<div class="container-fluid">
    <div class="row-fluid wrap">
        <div  class="span4" ><div id="main1" style="width: 600px;height:400px;"></div></div>
        <div class="span4" ><div id="main2" style="width: 600px;height:400px;"></div></div>
        <div class="span4" ><div id="main3" style="width: 600px;height:400px;"></div></div>
    </div>
</div>
</body>
</html>

这是用bootstrap简单做的一个自适应的页面。

2、js代码部分:

var resizeChartsContainer = function (e) {  
        var main = document.getElementById(e);  
        main.style.width = main.parentNode.clientWidth+'px';  
        main.style.height = main.parentNode.clientHeight+'px';  
    };  
  
  
    //初始化容器高宽  
//    resizeChartsContainer('main1');  
//    resizeChartsContainer('main2');  
//    resizeChartsContainer('main3');  
  
  
    var myChart=[];  
    for(var i=0;i<3;i++){  
//        图表没有绘制之前初始化容器高宽  
        resizeChartsContainer('main'+(i+1));  
//        开始绘制图表  
       myChart[i] = echarts.init(document.getElementById('main'+(i+1)));  
        var option = {  
            title: {  
                text: 'ECharts 入门示例'  
            },  
            tooltip: {},  
            legend: {  
                data:['销量']  
            },  
            xAxis: {  
                data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]  
            },  
            yAxis: {},  
            series: [{  
                name: '销量',  
                type: 'bar',  
                data: [5, 20, 36, 10, 10, 20]  
            }]  
        };  
        myChart[i].setOption(option);  
    }  
    alert(myChart);  
  
//当页面发生变化是重置图表容器的宽高  
    window.onresize = function () {  
        //重置容器高宽  
        for(var i = 0;i<myChart.length;i++){  
            resizeChartsContainer('main'+(i+1));  
            myChart[i].resize();  
        }  
//        resizeChartsContainer('main1');  
//        resizeChartsContainer('main2');  
//        resizeChartsContainerr('main3');  
//        myChart[0].resize();  
//        myChart[1].resize();  
//        myChart[2].resize();  
    };

希望对大家有所帮助。



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值