在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一些不错的函数脚本代码
Sep 10 Javascript
小议javascript 设计模式 推荐
Oct 28 Javascript
基于Jquery与WebMethod投票功能实现代码
Jan 19 Javascript
Javascript拓展String方法小结
Jul 08 Javascript
js下拉菜单语言选项简单实现
Sep 23 Javascript
详解JavaScript中Hash Map映射结构的实现
May 21 Javascript
总结JavaScript的正则与其他语言的不同之处
Aug 25 Javascript
node中koa中间件机制详解
Aug 22 Javascript
使用Angular CLI快速创建Angular项目的一些基本概念和写法小结
Apr 22 Javascript
Vue动态生成el-checkbox点击无法赋值的解决方法
Feb 21 Javascript
Vue代码整洁之去重方法整理
Aug 06 Javascript
使用 webpack 插件自动生成 vue 路由文件的方法
Aug 20 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 has encountered an Access Violation 错误的解决方法
2010/01/17 PHP
PHP里的单例类写法实例
2015/06/25 PHP
PHP测试成功的邮件发送案例
2015/10/26 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
2017/07/03 PHP
Prototype Date对象 学习
2009/07/12 Javascript
JavaScript 动态创建VML的方法
2009/10/14 Javascript
基于jquery的实现简单的表格中增加或删除下一行
2010/08/01 Javascript
jQuery LigerUI 使用教程表格篇(1)
2012/01/18 Javascript
javascript仿php的print_r函数输出json数据
2013/09/13 Javascript
页面定时刷新(1秒刷新一次)
2013/11/22 Javascript
php is_numberic函数造成的SQL注入漏洞
2014/03/10 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
2015/04/16 Javascript
在JavaScript中处理字符串之link()方法的使用
2015/06/08 Javascript
jquery实现界面无刷新加载登陆注册
2016/07/30 Javascript
详解Vue.js动态绑定class
2016/12/20 Javascript
基于jQuery实现左侧菜单栏可折叠功能
2016/12/27 Javascript
js学使用setTimeout实现轮循动画
2017/07/17 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
2018/08/28 jQuery
浅谈JS中this在各个场景下的指向
2019/08/14 Javascript
Vue.js使用axios动态获取response里的data数据操作
2020/09/08 Javascript
[53:36]Liquid vs VP Supermajor决赛 BO 第三场 6.10
2018/07/05 DOTA
使用Python3 编写简单信用卡管理程序
2016/12/21 Python
python+pyqt5编写md5生成器
2019/03/18 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
python生成随机红包的实例写法
2019/09/02 Python
Python TCPServer 多线程多客户端通信的实现
2019/12/31 Python
Python通过正则库爬取淘宝商品信息代码实例
2020/03/02 Python
python脚本第一行如何写
2020/08/30 Python
python操作链表的示例代码
2020/09/27 Python
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
中专三年学习的个人自我评价
2013/12/12 职场文书
社会实践先进工作者事迹材料
2014/05/06 职场文书
图文详解nginx日志切割的实现
2022/01/18 Servers