Echarts高和宽自适应问题
Posted gxr-tygy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Echarts高和宽自适应问题相关的知识,希望对你有一定的参考价值。
写在前面:echarts如果不给高度是无法显示的,这在很多场景中是非常不方便的。以下通过父div的高来计算echarts的高,以达到高度自适应的需求。
以下代码是在vue中引用echarts。
页面代码:
<div class="chartDiv" id="chartDiv_h"> <div id="myChart_h"></div> </div>
父div的css样式:
.chartDiv width: 100%; height: 100%; margin: 0 auto;
echarts代码块:
let myChartId = document.getElementById(chartId); //高度计算 this.chartssize(document.getElementById(chartPid),myChartId); let myChart = echarts.init(myChartId); let option = 。。。 ; // 为echarts对象加载数据 myChart.clear(); myChart.setOption(option,true); //建议加上以下这一行代码,不加的效果图如下(当浏览器窗口缩小的时候)。超过了div的界限(红色边框) window.addEventListener(‘resize‘, function () myChart.resize() );
高度计算方法chartssize():
//为图表计算高度 chartssize(container, charts) function getStyle(el, name) if (window.getComputedStyle) return window.getComputedStyle(el, null); else return el.currentStyle; let wi = getStyle(container, ‘width‘).width; let hi = getStyle(container, ‘height‘).height; charts.style.height = hi;
写在后面:针对js部分的问题打开浏览器开发者模式,使用断点在console里面直接书写js代码慢慢调试可以发现解决大部分问题。
以上是关于Echarts高和宽自适应问题的主要内容,如果未能解决你的问题,请参考以下文章