关于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();
});

浙公网安备 33010602011771号