在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技巧
Dec 06 Javascript
Javascript控制页面链接在新窗口打开具体方法
Aug 16 Javascript
JS操作JSON要领详细总结
Aug 25 Javascript
javascript判断数组内是否重复的方法
Apr 21 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
Jun 19 Javascript
JavaScript中的this机制
Jan 30 Javascript
SWFUpload多文件上传及文件个数限制的方法
May 31 Javascript
BootStrap网页中代码显示用法详解
Oct 21 Javascript
js截取字符串功能的实现方法
Sep 27 Javascript
详解jQuery获取特殊属性的值以及设置内容
Nov 14 jQuery
JavaScript实现的鼠标跟随特效示例【2则实例】
Dec 22 Javascript
Vue CLI4 Vue.config.js标准配置(最全注释)
Jun 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
DC宇宙的第一个英雄,堪称动漫史鼻祖,如今成为美国文化的象征
2020/04/09 欧美动漫
PHP URL地址获取函数代码(端口等) 推荐
2010/05/15 PHP
解析php常用image图像函数集
2013/06/24 PHP
php使用wordwrap格式化文本段落的方法
2015/03/17 PHP
JavaScript入门教程(6) Window窗口对象
2009/01/31 Javascript
基于prototype扩展的JavaScript常用函数库
2010/11/30 Javascript
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
2013/12/14 Javascript
Nodejs sublime text 3安装与配置
2014/06/19 NodeJs
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
Angularjs基础知识及示例汇总
2015/01/22 Javascript
JS判断是否长按某一键的方法
2016/03/02 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
2016/06/25 Javascript
详解nodejs 文本操作模块-fs模块(五)
2016/12/23 NodeJs
借助node实战JSONP跨域实例
2017/03/30 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
2018/01/16 Javascript
微信小程序如何获取用户手机号
2018/01/26 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
利用python实现周期财务统计可视化
2019/08/25 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
Django restful framework生成API文档过程详解
2020/11/12 Python
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
2013/01/30 HTML / CSS
加拿大购物频道:The Shopping Channel
2016/07/21 全球购物
美国领先的在线旅游网站:Orbitz
2018/11/05 全球购物
ABOUT YOU匈牙利:500个最受欢迎的时尚品牌
2019/07/19 全球购物
迪士尼英国官方商店:shopDisney UK
2019/09/21 全球购物
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
精细化工应届生求职信
2013/11/17 职场文书
平面设计岗位职责
2013/12/14 职场文书
医院护士的求职信范文
2013/12/26 职场文书
乡下人家教学反思
2014/02/01 职场文书
《翻越远方的大山》教学反思
2014/04/13 职场文书
热爱祖国的演讲稿
2014/05/04 职场文书
学习十八大标语
2014/10/09 职场文书
Java 死锁解决方案
2022/05/11 Java/Android
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers