当前位置: 首页 > Web前端 > HTML

Echarts图表自适应?你可以这样做

时间:2023-03-28 00:32:01 HTML

1。图表变形在使用Echarts绘制图表时,你可能会遇到变形的问题。如下图所示:原因是Echarts在初始化实例时,还没有确定对应dom元素的宽高。解决方法也很简单:监听对应的dom元素,如果大小发生变化,调用resize()方法。importechartsfrom'echarts';...constchartDom=document.getElementById('myChart');letmyChart=echarts.init(chartDom);//如果dom大小改变,resizeconstchartObserver=newResizeObserver(()=>{myChart.resize();});chartObserver.observe(chartDom);2.自适应解决方案自适应是指当浏览器窗口发生变化时,echarts图表的大小可以随之变化。这可以通过监听浏览器窗口来完成。window.onresize=()=>{myChart.resize();}如果有多个echarts,则window.onresize=()=>{myChart1.resize();myChart2.resize();}在某些情况下,也会myChart1和myaChart2不在同一个作用域时,如果多次调用window.onresize(),后一个会覆盖前一个。如下:window.onresize=()=>{myChart1.resize();}...//后面执行的代码会覆盖前面的窗口监听window.onresize=()=>{myChart2.resize();这时候可以使用window.addEventListener('resize',callback)来避免监听被覆盖:window.addEventListener('resize',()=>{myChart1.resize();},false);//false表示事件处理程序在冒泡阶段执行...window.addEventListener('resize',()=>{myChart2.resize();},false);当然也可以使用ResizeObserver监听对应的dom元素,调用resize()来解析。参考资料:ResizeObserverAPI:https://developer.mozilla.org...本文由mdnicemulti-platform发布