1. 程式人生 > >如何讓echarts在extjs5中自適應大小

如何讓echarts在extjs5中自適應大小

在extjs5中使用echarts的時候如何才能讓圖表隨瀏覽器的改變?網上有很多方法,官網使用的是
window.onresize = myChart.resize;
我也是用的這個成功了的,把之前說的afterRander方法換成resize方法就好了
下面是原始碼
<pre name="code" class="html">var view = Ext.getCmp('mainView');
var div = document.getElementById('panelChart');

//初始化資料
var options = {
    tooltip : {
        trigger: 'axis'
    },
    legend: {
        data:['郵件營銷','聯盟廣告','視訊廣告','直接訪問','搜尋引擎']
    },
    toolbox: {
        show : true,
        feature : {
            //             mark : {show: true},
            //             dataView : {show: true, readOnly: false},
            //             magicType : {show: true, type: ['line', 'bar', 'stack', 'tiled']},
            restore : {show: true},
            //             saveAsImage : {show: true}
        }
    },
    calculable : true,
    xAxis : [
        {
            type : 'category',
            boundaryGap : false,
            data : ['週一','週二','週三','週四','週五','週六','週日']
        }
    ],
    yAxis : [
        {
            type : 'value'
        }
    ],
    series : [
        {
            name:'郵件營銷',
            type:'line',
            stack: '總量',
            data:[120, 132, 101, 134, 90, 230, 210]
        },
        {
            name:'聯盟廣告',
            type:'line',
            stack: '總量',
            data:[220, 182, 191, 234, 290, 330, 310]
        },
        {
            name:'視訊廣告',
            type:'line',
            stack: '總量',
            data:[150, 232, 201, 154, 190, 330, 410]
        },
        {
            name:'直接訪問',
            type:'line',
            stack: '總量',
            data:[320, 332, 301, 334, 390, 330, 320]
        },
        {
            name:'搜尋引擎',
            type:'line',
            stack: '總量',
            data:[820, 932, 901, 934, 1290, 1330, 1320]
        }
    ]
};
var myChart = require('echarts').init(div);
window.onresize = myChart.resize;
myChart.setOption(options, true);   //為echarts物件載入資料
當然,因為是自適應所有要讓需要渲染的div自動改變大小,echarts官網是建議是把div的寬高去掉,但是我在使用中保留了高度的設定,因為我同時去掉寬高的時候沒有成功,如果大家有其它的方法歡迎指教