近期我使用echarts的力导向布局图时,希望生成的关系图可以实现浏览器的大小自适应,并且随着浏览器的拖动呈现图一直处于正中间的效果。
按照API的教程,我监听了
窗口大小调整的事件,在窗口大小发生变化时,让图标重新设置大小:
window.onresize = function(){
var mychart = echarts.init(document.getElementById('chart'));
mychart.resize();
}
此部分代码的效果是,窗口大小变化时,id为chart的div大小会实时变化,但是生成的图并不会在正中间显示,后来比对了实例代码,发现我的代码中,option的series的定义里有两个参数发生了冲突。
series: [{
name: '相关词',
type: 'graph',
layout: 'force',
force: {
repulsion: 300,
gravity: 0.003,
edgeLength: 140
},
.....
发生冲突的两个参数是series中force的repulsion和gravity。
repulsion表示排斥力,gravity是向心力系数,两者参数设置发生冲突导致图在resize时出现上述的效果,将gravity设置的指调大为0.03即可呈现正常的效果。