关于echart 图表自适应问题的解决办法

 <div id="divEnergy" style="width: 100%; height: 300px; border: 5px solid red; ">
 </div>

以上给echart 一个百分比的宽度  想达到自适应的效果

当页面没有加载完,进行tab 切换的时候 ,表格变成如下效果

 解决办法

  $.ajax({
                                type: "post",
                                async: false, //同步执行  
                                url: "getjson/GetChartDatasale.ashx?type=月&userid=" + document.getElementById("<%=hiduserid.ClientID %>").value,
                                dataType: "json", //返回数据形式为json  
                                success: function (result) {
                                    if (result.status = 200) {
                                        //将返回的category和series对象赋值给options对象内的category和series  
                                        //因为xAxis是一个数组 这里需要是xAxis[i]的形式  
                                        options.xAxis[0].data = result.category;
                                        options.series = result.series;
                                        options.legend.data = result.legend;
                                        // options.title.text = "fdsa";
                                        myEnergyChart.setOption(options);
                                        myEnergyChart.refresh();

                                        /* 7-28修复折线图无法自适应的问题*/
                                        window.onresize = myEnergyChart.resize;
                                    }
                                },
                                error: function (errorMsg) {
                                    //alert("图表数据加载失败!");
                                }
                            });

  

官方文档如下:

ECharts没有绑定resize事件,显示区域大小发生改变内部并不知道,使用方可以根据自己的需求绑定关心的事件,主动调用resize达到自适应的效果,常见如window.onresize = myChart.resize。

注意:

如果这个页面有多个图表:

//多图表自适应
window.addEventListener("resize", function () {
myEnergyChart.resize();
myEnergyChart2.resize();
});

  

posted @ 2017-07-28 11:00  小僵尸  阅读(9119)  评论(0编辑  收藏  举报