如何讓echarts在extjs5中自適應大小
阿新 • • 發佈:2019-01-28
在extjs5中使用echarts的時候如何才能讓圖表隨瀏覽器的改變?網上有很多方法,官網使用的是
window.onresize = myChart.resize;
我也是用的這個成功了的,把之前說的afterRander方法換成resize方法就好了
下面是原始碼
當然,因為是自適應所有要讓需要渲染的div自動改變大小,echarts官網是建議是把div的寬高去掉,但是我在使用中保留了高度的設定,因為我同時去掉寬高的時候沒有成功,如果大家有其它的方法歡迎指教<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物件載入資料