在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 相关文章推荐
类之Prototype.js学习
Jun 13 Javascript
extjs form textfield的隐藏方法
Dec 29 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
Jan 14 Javascript
jQuery选择器源码解读(一):Sizzle方法
Mar 31 Javascript
js精美的幻灯片画集特效代码分享
Aug 29 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
Dec 08 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
May 02 Javascript
JavaScript实现三级联动效果
Jul 15 Javascript
Vue组件实例间的直接访问实现代码
Aug 20 Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
Apr 23 Javascript
详解vue更改头像功能实现
Apr 28 Javascript
详解Java中String JSONObject JSONArray List转换
Nov 13 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
Mysql的GROUP_CONCAT()函数使用方法
2008/03/28 PHP
PHP iconv 函数转gb2312的bug解决方法
2009/10/11 PHP
php flv视频时间获取函数
2010/06/29 PHP
选择PHP作为网站开发语言的原因分享
2012/01/03 PHP
PHP代码优化的53个细节
2014/03/03 PHP
Zend Framework教程之Zend_Layout布局助手详解
2016/03/04 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
CSS3画一个阴阳八卦图
2021/03/09 HTML / CSS
js常用代码段收集
2011/10/28 Javascript
Javascript必知必会(四)js类型转换
2016/06/08 Javascript
Javascript日期格式化format函数的使用方法
2016/08/30 Javascript
超全面的vue.js使用总结
2017/02/12 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
原生JS实现旋转轮播图+文字内容切换效果【附源码】
2018/09/29 Javascript
通过说明与示例了解js五种设计模式
2019/06/17 Javascript
微信小程序wx.navigateTo中events属性实现页面间通信传值,数据同步
2019/07/13 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
[01:08:57]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第二场
2014/05/24 DOTA
Python使用ConfigParser模块操作配置文件的方法
2018/06/29 Python
python爬取网易云音乐评论
2018/11/16 Python
使用selenium和pyquery爬取京东商品列表过程解析
2019/08/15 Python
tensorflow如何批量读取图片
2019/08/29 Python
spyder 在控制台(console)执行python文件,debug python程序方式
2020/04/20 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
python subprocess pipe 实时输出日志的操作
2020/12/05 Python
python爬虫用request库处理cookie的实例讲解
2021/02/20 Python
英国最大的电子产品和家电零售企业:Currys PC World
2016/09/24 全球购物
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
世界上最大的字体市场:MyFonts
2020/01/10 全球购物
试用期转正鉴定评语
2014/01/27 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
党员民主评议个人总结
2014/10/20 职场文书
健康状况证明模板
2014/10/23 职场文书
CSS filter 有什么神奇用途
2021/05/25 HTML / CSS
一文搞懂php的垃圾回收机制
2021/06/18 PHP
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python