在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图片卷帘门导航菜单特效代码分享
Sep 10 Javascript
jquery+css实现动感的图片切换效果
Nov 25 Javascript
angularJS的radio实现单项二选一的使用方法
Feb 28 Javascript
vue2.0实现移动端的输入框实时检索更新列表功能
May 08 Javascript
node中的cookie的具体使用
Sep 13 Javascript
Three.js中矩阵和向量的使用教程
Mar 19 Javascript
微信小程序上线发布流程图文详解
May 06 Javascript
jQuery-Citys省市区三级菜单联动插件使用详解
Jul 26 jQuery
浅谈javascript错误处理
Aug 11 Javascript
TypeScript中使用getElementXXX()的示例代码
Sep 12 Javascript
Vue 技巧之控制父类的 slot
Feb 24 Javascript
Vant 在vue-cli 4.x中按需加载操作
Nov 05 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-fpm.service not found问题的办法
2017/06/06 PHP
Laravel框架学习笔记之批量更新数据功能
2019/05/30 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
VBScript版代码高亮
2006/06/26 Javascript
java script编程起步(第三课)
2007/01/10 Javascript
jquery之empty()与remove()区别说明
2010/09/10 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
为原生js Array增加each方法
2012/04/07 Javascript
jquery中的事件处理详细介绍
2013/06/24 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
浅谈JavaScript函数的四种存在形态
2016/06/08 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
ES6新特性七:数组的扩充详解
2017/04/21 Javascript
基于JSON数据格式详解
2017/08/31 Javascript
基于JavaScript+HTML5 实现打地鼠小游戏逻辑流程图文详解(附完整代码)
2017/11/02 Javascript
初探js和简单隐藏效果的实例
2017/11/23 Javascript
Jquery让form表单异步提交代码实现
2019/11/14 jQuery
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
mpvue 项目初始化及实现授权登录的实现方法
2020/07/20 Javascript
Python中文字符串截取问题
2015/06/15 Python
pycharm创建一个python包方法图解
2019/04/10 Python
Django框架表单操作实例分析
2019/11/04 Python
Python手动或自动协程操作方法解析
2020/06/22 Python
Python 捕获代码中所有异常的方法
2020/08/03 Python
详解Scrapy Redis入门实战
2020/11/18 Python
用ldap作为django后端用户登录验证的实现
2020/12/07 Python
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
村抢险救灾方案
2014/05/09 职场文书
给校长的建议书200字
2014/05/16 职场文书
本科毕业论文答辩稿
2015/06/23 职场文书
寒假生活随笔
2015/08/15 职场文书
小学班级管理心得体会
2016/01/07 职场文书
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
2021/05/12 Python
python源码剖析之PyObject详解
2021/05/18 Python
Python异常类型以及处理方法汇总
2021/06/05 Python
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL