echarts容器动态设置高度
柱状图数据多的情况下,都叠到了一起,效果图如下:
要解决这个bug,我首先想到的是让柱状图的容器自适应高度。于是,把原来div上写的固定高度去掉。
<div id="myChart" style={{height:400px',width:'100%'}}></div>
变成:
<div id="myChart" style={{width:'100%'}}></div>
这时,你会发现容器没有高度,柱状图根本显示不出来。那么,如何给容器及其渲染完数据后的canvas动态加上高度呢?(红色框为setOption绘制图表后出现的)
解决方法:
echarts文档关于resize : https://echarts.apache.org/zh/api.html#echartsInstance.resize
componentDidMount() {
this.myChart = echarts.init(document.getElementById("myChart"));
const autoHeight = counts.length * 35 + 50; // counst.length为柱状图的条数,即数据长度。35为我给每个柱状图的高度,50为柱状图x轴内容的高度(大概的)。
this.myChart.resize({height: autoHeight});
}