Echarts跟随数据长度实现高度自适应解决出现滚动条的解决方案

在echarts中,不设置高度,图表无法渲染;若设置固定高度,当柱状图数据过多时轴文本标签会自动隐藏且数据挤压,用户的体验差。通过给容器设置自适应高度,然后通过getDom()的方法解决此问题。

    var myChart = echarts.init(document.getElementById("container"));
    var option = {
        yAxis: {
            type: 'category',
            interval: 0,
            data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun', 'Thu', 'Fri', 'Sat', 'Sun','Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun', 'Thu', 'Fri', 'Sat', 'Sun']
        },
        xAxis: {
            type: 'value'
        },
        series: [{
            data: [120, 200, 150, 80, 70, 110, 130, 80, 70, 110, 130,120, 200, 150, 80, 70, 110, 130, 80, 70, 110, 130],
            type: 'bar',
        }]
    }

    myChart.setOption(option);
    //柱状图y轴的长度 option.yAxis.data.length
    var autoHeight = option.yAxis.data.length * 50 + 150;
    myChart.getDom().style.height = this.autoHeight + "px";
    myChart.getDom().childNodes[0].style.height = this.autoHeight + "px";
    myChart.getDom().childNodes[0].childNodes[0].setAttribute("height", this.autoHeight);
    myChart.getDom().childNodes[0].childNodes[0].style.height = this.autoHeight + "px";
    myChart.getDom().childNodes[0].childNodes[0].style.background = "rgba(0,0,0,0.5)";
    //根据窗口的大小变动图表
    myChart.resize();

Done!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漏刻有时

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值