多个echarts图自适应屏幕大小

时间:2022-12-30 20:24:02

当一个echarts图时,可以这样做

//下面my_charts是html中echarts的ID
  var myChart= echarts.init(document.getElementById("my_charts"));
  myChart.setOption(option);
//假设实例的名字是myChart,在echats配置完实例以后,配置下面几行代码即可
  window.onresize = function () {
    myChart.resize();
  }

如果页面中有多个echart图,而且在不同的js函数各自实例化,需要定义一个全局的对象,然后将各自的实例化id及echart实例对象装进全局对象中,再统一自适应

var chartJson;
func1(){
    var myChart = echarts.init(document.getElementById('id1'));
...
    myChart.setOption(option);
    chartJson['id1'] = myChart;
}
func2(){
...
}
func3(){
...
}
//统一自适应
$(function(){
  func1();
  func2();
  func3();
   window.onresize = function() {
      chartJson['id1'].resize();
      chartJson['id2'].resize();
      chartJson['id3'].resize();
   };
})