我的编程空间,编程开发者的网络收藏夹
学习永远不晚

echart自适应宽度的两种方法实例

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

echart自适应宽度的两种方法实例

1.一个页面多个图表的自适应宽度可以用

注意:应写在多个图表的后面,不能一个一个写,会发生错误

//根据窗口的大小变动图表 
window.onresize = function(){
    myChart.resize();
    myChart1.resize();    //若有多个图表变动,可多写
 
}

2.若是一个页面的多个图表需要分别监听改变宽度的话用(可以一个一个写)

window.addEventListener("resize",function(){
     myChart.resize();
});

3.若是要自适应高度和宽度的话

  • 首先你的初始div 必须有初始的高度和宽度(因为echart绘制需要宽和高)
  • 需要写一个JavaScript方法去获取你当前div 的高度和宽度;
  • 然后通过监听事件去监听你当前高度和宽度的变化

例如:

// es5
function fn(){//用于使chart自适应高度和宽度,通过窗体高宽计算容器高宽
    //var height=$("#divID").height()
    //或
    var height=document.getElementById("divID").offsetHeight
    var width=document.getElementById("divID").offsetWidth
};
 
fn ();//设置容器高宽
 
//窗口大小发生了变化,代码:
//方法1
window.onresize = function () {//用于使chart自适的方法  
    fn ();//重置容器高宽
    myChart.resize();
}
 
//方法2
window.addEventListener("resize",function(){   //监听
    fn ();//重置容器高宽
    myChart.resize();
})

附:echart多图表切换时图表宽度变成100px,而不是100%

现页面中有如下图表需要显示

现我希望页面在进行缩放的时候,图表大小也跟着变。首先想到的就是宽度设置为100%,但是当我在“总计”,“加分”,“扣分”之前切换时,发现图表宽度变成了100px(如果你设置的宽度是固定大小的,比如500px,那就不会有这个问题),这是echart本身的原因。那么如何解决图表自适应问题呢,现在有如下代码(只展示了主要的部分代码)

<!--图表容器-->
<div class="tab-pane active" id="total">
    <!-- 总计容器 -->
    <div id="total_chart" style="width: 100%;height:518px;"></div>
</div>
<div class="tab-pane" id="add">
    <!-- 加分容器 -->
    <div id="add_chart" style="width: 100%;height:518px;"></div>
</div>
<div class="tab-pane" id="deduction">
    <!-- 扣分容器 -->
    <div id="deduction_chart" style="width: 100%;height:518px;"></div>
</div>
<script>
    $.get('请求的url', function (response) {
            var total_id = "total_chart";
            var add_id = "add_chart";
            var deduction_id = "deduction_chart";
            // 总计表
            chart(total_id);
            // 加分表
            chart(add_id);
            // 扣分表
            chart(deduction_id);
        }, 'json')
    function chart(chart_id) {
        var myChart = echarts.init(document.getElementById(chart_id));
        var myOption;
        // 省略大部分代码
        // 使用制定的配置项和数据显示图表
        myChart.setOption(myOption);
        // 监听点击事件
        window.addEventListener("click", function () {
            myChart.resize();
        });
        // 监听浏览器页面缩放事件
        window.addEventListener("resize", function () {
            myChart.resize();
        });
    }
</script>

echart中的chart.resize()就可以实现,所以我们需要做的就是如何在页面进行缩放或者切换tab时,触发这个resize()操作呢?注意上面代码中的两个事件监听。

第一个是监听点击操作。只要你切换页面中的“总计”,“加分”,“扣分”,那么就会触发myChart.resize(),这样图表的大小就会发生改变,因为我们设置width是100%,所以它就会根据当前图表容器来进行变化。

第二个是页面缩放事件,道理和点击是一样的。建议两个都写,这样无论是你切换tab,还是页面缩放,图表大小都会跟着变化的。

总结

到此这篇关于echart自适应宽度的文章就介绍到这了,更多相关echart自适应宽度内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

echart自适应宽度的两种方法实例

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

echart自适应宽度的两种方法实例

最近工作中element后台管理使用Echarts图表,在使用过程中也遇到了些问题,下面这篇文章主要给大家介绍了关于echart自适应宽度的两种方法,需要的朋友可以参考下
2022-12-14

CSS怎么实现宽度自适应宽高16:9的矩形

小编给大家分享一下CSS怎么实现宽度自适应宽高16:9的矩形,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体实现方法:第一步先计算高度,假设宽100%,那么高为
2023-06-08

iframe窗口高度自适应的实现方法

要实现iframe窗口高度自适应,可以通过以下方法:1. 使用JavaScript动态调整iframe的高度:- 在iframe加载完成后,通过获取iframe的内容高度并设置给iframe的高度。可以使用JavaScript中的`cont
2023-08-11

css如何实现六种自适应两栏布局方式

这篇文章主要介绍css如何实现六种自适应两栏布局方式,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!html结构
2023-06-08

Android自定义荷载进度的两种方法

本文将用两个方法来写类似汽车荷载的进度用LinearLayout的addview方法加上for循环用自定义控件的方法先上截图1. 用LinearLayout的addview方法加上for循环 1.1 processtest01.xml文件:
2022-06-06

CSS实现高度自适应铺满整屏的案例

这篇文章主要介绍CSS实现高度自适应铺满整屏的案例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在自己写demo的过程中,想使用display:flex实现垂直居中,代码如下: