在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 相关文章推荐
javascript作用域容易记错的两个地方分析
Jun 22 Javascript
jQuery动态修改超链接地址的方法
Feb 13 Javascript
js仿微博实现统计字符和本地存储功能
Dec 22 Javascript
原生javascript实现的一个简单动画效果
Mar 30 Javascript
PassWord输入框代码分享
Jun 07 Javascript
谈谈jQuery之Deferred源码剖析
Dec 19 Javascript
three.js实现围绕某物体旋转
Jan 25 Javascript
js实现按座位号抽奖
Apr 05 Javascript
使用vue实现grid-layout功能实例代码
Jan 05 Javascript
angular5 httpclient的示例实战
Mar 12 Javascript
JavaScript创建对象方法实例小结
Sep 03 Javascript
在Vue中使用Echarts可视化库的完整步骤记录
Nov 18 Vue.js
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 用sock技术发送邮件的函数
2007/07/21 PHP
PHP程序员最常犯的11个MySQL错误小结
2010/11/20 PHP
全新的PDO数据库操作类php版(仅适用Mysql)
2012/07/22 PHP
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
2015/01/22 PHP
PHP常用算法和数据结构示例(必看篇)
2017/03/15 PHP
php+js实现点赞功能的示例详解
2020/08/07 PHP
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
javascript vvorld 在线加密破解方法
2008/11/13 Javascript
js 多种变量定义(对象直接量,数组直接量和函数直接量)
2010/05/24 Javascript
JS实现self的resend
2010/07/22 Javascript
JSON字符串和对象相互转换实例分析
2016/06/16 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
Vue.js列表渲染绑定jQuery插件的正确姿势
2017/06/29 jQuery
javascript 日期相减-在线教程(附代码)
2017/08/17 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
JavaScript实现全选取消效果
2017/12/14 Javascript
原生JS实现获取及修改CSS样式的方法
2018/09/04 Javascript
js图片无缝滚动插件使用详解
2020/05/26 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
jQuery 动画与停止动画效果实例详解
2020/05/19 jQuery
three.js 制作动态二维码的示例代码
2020/07/31 Javascript
[00:32]DOTA2上海特级锦标赛 COL战队宣传片
2016/03/04 DOTA
python发送HTTP请求的方法小结
2015/07/08 Python
详解 Python 与文件对象共事的实例
2017/09/11 Python
用python编写第一个IDA插件的实例
2018/05/29 Python
Python安装及Pycharm安装使用教程图解
2019/09/20 Python
国庆节活动总结
2014/08/26 职场文书
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
简单的个人租房协议书范本
2014/11/26 职场文书
大学生考试作弊被抓检讨书
2014/12/27 职场文书
工作检讨书大全
2015/01/26 职场文书
2015年小学图书室工作总结
2015/05/18 职场文书
《折线统计图》教学反思
2016/02/22 职场文书
Promise面试题详解之控制并发
2021/05/14 面试题
深入探讨opencv图像矫正算法实战
2021/05/21 Python