在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 相关文章推荐
jQuery 开天辟地入门篇一
Dec 09 Javascript
js点击列表文字对应该行显示背景颜色的实现代码
Aug 05 Javascript
freemarker判断对象是否为空的方法
Aug 13 Javascript
11种ASP连接数据库的方法
Sep 18 Javascript
微信公众平台开发教程(六)获取个性二维码的实例
Dec 02 Javascript
jQuery实现拖拽可编辑模块功能代码
Jan 12 Javascript
JS中Safari浏览器中的Date
Jul 17 Javascript
详解angular路由高亮之RouterLinkActive
Apr 28 Javascript
javascript显示动态时间的方法汇总
Jul 06 Javascript
了解javascript中let和var及const关键字的区别
May 24 Javascript
2019最新21个MySQL高频面试题介绍
Feb 06 Javascript
js实现验证码功能
Jul 24 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
全国FM电台频率大全 - 12 安徽省
2020/03/11 无线电
discuz7 phpMysql操作类
2009/06/21 PHP
php截取字符串并保留完整xml标签的函数代码
2013/02/06 PHP
php实现多张图片上传加水印技巧
2013/04/18 PHP
php获取本地图片文件并生成xml文件输出具体思路
2013/04/27 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
JavaScript让IE浏览器event对象符合W3C DOM标准
2009/11/24 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
纯js分页代码(简洁实用)
2013/11/05 Javascript
常用的几段javascript代码分享
2014/03/25 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
js实现精确到毫秒的倒计时效果
2016/08/05 Javascript
AngularJs Injecting Services Into Controllers详解
2016/09/02 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
vue.js element-ui tree树形控件改iview的方法
2018/03/29 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
axios异步提交表单数据的几种方法
2019/08/11 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
2019/11/06 Javascript
解决ele ui 表格表头太长问题的实现
2019/11/13 Javascript
python实现kNN算法
2017/12/20 Python
Python拼接微信好友头像大图的实现方法
2018/08/01 Python
深入浅析Python科学计算库Scipy及安装步骤
2019/10/12 Python
python多线程并发及测试框架案例
2019/10/15 Python
浅谈css3中的前缀
2016/07/20 HTML / CSS
JDO的含义
2012/11/17 面试题
假面舞会策划方案
2014/05/29 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
病人写给医生的感谢信
2015/01/23 职场文书
预备党员转正党小组意见
2015/06/01 职场文书
员工安全责任协议书
2016/03/22 职场文书
拥有这5个特征人,“命”都不会太差
2019/08/16 职场文书
《蓝鲸的眼睛》读后感5篇
2020/01/15 职场文书
如何用PHP实现分布算法之一致性哈希算法
2021/05/26 PHP
简单聊聊TypeScript只读修饰符
2022/04/06 Javascript