在vue中实现echarts随窗体变化


Posted in Javascript onJuly 27, 2020

在vue中实现echarts随窗体变化

<div id="myChart" :style="{width: '100%', height: '345px'}"></div>
<script> export default {
mounted(){
    this.drawLine();
  },
  methods: {
    drawLine(){
    var myChartContainer = document.getElementById('myChart');      //用于使chart自适应宽度,通过窗体宽计算容器高宽
    var resizeMyChartContainer = function(){
     myChartContainer.style.width=(document.body.clientWidth-75)+'px'
    }     //设置容器高宽
    resizeMyChartContainer()
    // 基于准备好的dom,初始化echarts实例
    var myChart = this.$echarts.init(myChartContainer)
     
    // 绘制图表
    myChart.setOption({
      title: { text: '启动次数' },
      tooltip: {},
      xAxis: {
        type: 'category',
        data: ['2019-02-15', '2019-02-16', '2019-02-17', '2019-02-18', '2019-02-19', '2019-02-20', '2019-02-21']
      },
      yAxis: {
         type:'value'
      },
      series: [{
        type: 'line',
        data: [0,0, 0, 7, 0, 0,12],
        smooth:true,
        symbol: 'circle', 
        symbolSize: 6, 
        itemStyle:{ 
          normal:{ 
             
            color:'#fc8a0f', 
            lineStyle:{ 
              color:'#ff9c35' 
                } 
              } 
            }
      }],
    });
    window.onresize=function(){
     resizeMyChartContainer();
      myChart.resize();
    }
   }
  }}</script>

补充知识:echarts 图表大小随窗口变动而自适应变动(无需刷新浏览器调整)

问题提出:

使用echars做完图表之后,需要根据浏览器窗口的缩放做自适应效果。

在vue中实现echarts随窗体变化

原因分析及解决方案:

echars的图标实例事实上并没有主动的去绑定resize()事件,就是说显示区域的大小改变内部并不知道,当你需要去做一些自适应的效果的时候,需要主动绑定这个时间才能达到自使用的效果,常见的如window.onresize = myChart.resize()

示例:

var map5 = echarts.init(document.getElementById('map5'));
  var option5 = {
    backgroundColor: '#def1f9',
    color: ['#c23531', '#1875ff'],
    title: {
      left: 10,
      top: 10,
      text: 'Bill charts for the past year'
    },
    // color: ['#1875ff', '#1fe6ab', '#eee119', '#ff3074', '#6f99d9'],
    legend: {
      top: 30,
      right: 30
    },
    tooltip: {},
 
    xAxis: {type: 'category'},
    yAxis: {},
    series: [
      {type: 'bar'},
      {type: 'bar'}
    ]
  }
  map5.setOption(option5);
 
  window.onresize = function () {
    setTimeout(function () { 
      map1.resize()
      map2.resize()
      map3.resize()
      map4.resize()
      map5.resize()
    },10)
  }

重点:

window.onresize = function () {
   map1.resize() ; // 如果有多个图标变动,可写多个
}

以上这篇在vue中实现echarts随窗体变化就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js下写一个事件队列操作函数
Jul 19 Javascript
理解Javascript_05_原型继承原理
Oct 13 Javascript
JavaScript—window对象使用示例
Dec 09 Javascript
对 jQuery 中 data 方法的误解分析
Jun 18 Javascript
介绍一个简单的JavaScript类框架
Jun 24 Javascript
Javascript中的arguments对象
Jun 20 Javascript
原生JS实现获取及修改CSS样式的方法
Sep 04 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
Mar 28 Javascript
前后端常见的几种鉴权方式(小结)
Aug 04 Javascript
微信小程序日历插件代码实例
Dec 04 Javascript
Javascript Web Worker使用过程解析
Mar 16 Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
Jun 19 Javascript
Vue组件跨层级获取组件操作
Jul 27 #Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
Jul 27 #Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
Jul 27 #Javascript
JS的时间格式化和时间戳转换函数示例详解
Jul 27 #Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
Jul 27 #Javascript
vue键盘事件点击事件加native操作
Jul 27 #Javascript
Element Cascader 级联选择器的使用示例
Jul 27 #Javascript
You might like
探讨如何在PHP开启gzip页面压缩实例
2013/06/09 PHP
CodeIgniter启用缓存和清除缓存的方法
2014/06/12 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
2015/12/31 PHP
php上传图片类及用法示例
2016/05/11 PHP
arguments对象
2006/11/20 Javascript
List Information About the Binary Files Used by an Application
2007/06/11 Javascript
动感效果的TAB选项卡jquery 插件
2011/07/09 Javascript
jquery的ajax()函数传值中文乱码解决方法介绍
2012/11/08 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
js中取得变量绝对值的方法
2015/01/03 Javascript
JS中JSON对象和String之间的互转及处理技巧
2016/04/06 Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
2017/01/23 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
jQuery实现节点的追加、替换、删除、复制功能示例
2017/07/11 jQuery
用Axios Element实现全局的请求loading的方法
2018/03/15 Javascript
JavaScript实现浅拷贝与深拷贝的方法分析
2018/07/05 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
javascript中的this作用域详解
2019/07/15 Javascript
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
Python求正态分布曲线下面积实例
2019/11/20 Python
python实现图片上添加图片
2019/11/26 Python
Python嵌套函数,作用域与偏函数用法实例分析
2019/12/26 Python
Python接口开发实现步骤详解
2020/04/26 Python
用ldap作为django后端用户登录验证的实现
2020/12/07 Python
护理职业应聘自荐书
2013/09/29 职场文书
电子商务毕业生求职信
2013/11/10 职场文书
外贸英语毕业生自荐信
2013/11/14 职场文书
上班早退检讨书
2014/01/09 职场文书
幼儿园大班毕业感言
2014/02/06 职场文书
企业安全生产月活动总结
2014/07/05 职场文书
教你怎么用Python操作MySql数据库
2021/05/31 Python
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python
关于Oracle12C默认用户名system密码不正确的解决方案
2021/10/16 Oracle
十大经典日本动漫排行榜 海贼王第三,犬夜叉仅第八
2022/03/18 日漫