echarts生成的图表大小怎么随屏幕的大小改变自适应

如题所述

如果一个页面有一个图表:

myChart.setOption(option,window.onresize = myChart.resize);

如果一个页面有多个图表(此处举例3个):

shopsInfo.setOption(shopsInfos);

vendor.setOption(vendors);

company.setOption(companys);

在最后加上如下代码

//图表根据窗口大小自适应

setTimeout(function (){

window.onresize = function () {

shopsInfo.resize();

vendor.resize();

company.resize();

}

})

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-04-23
在setoption之后添加这段代码:window.onresize = myChart.resize;本回答被提问者采纳
第2个回答  2019-07-26

你好

ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

当页面只有一个图表的时候直接用 window.onresize = myChart.resize 就可以了。

var myChart = echarts.init(document.getElementById('main'));
 
// 指定图表的配置项和数据
var option={title:{text:'ECharts 入门示例'},tooltip:{},legend:{data:['销量']},xAxis:{data:["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]},yAxis:{},series:[{name:'销量',type:'bar',data:[5,20,36,10,10,20]}]};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
window.onresize = myChart.resize;

但是如果一个页面有多个图表的时候就需要用到addEventListener了,不然页面上只有一个图表会根据浏览器的变化而自适应。

具体实现代码请参照:

Echarts 大小自适应的解决办法

第3个回答  2015-02-02
你只需要让图表外的div容器随着屏幕自适应就好了。用百分比
相似回答