在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 相关文章推荐
innerHTML,outerHTML,innerTEXT三者之间的区别
Jan 28 Javascript
js 控制图片大小核心讲解
Oct 09 Javascript
jquery控制页面部分刷新的方法
Jun 24 Javascript
深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
Dec 01 Javascript
jQuery插件开发汇总
May 15 Javascript
轻松实现jQuery添加删除按钮Click事件
Mar 13 Javascript
Javascript中的作用域及块级作用域
Dec 08 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
Apr 04 Javascript
微信小程序实现文件、图片上传功能
Aug 18 Javascript
layui使用数据表格实现购物车功能
Jul 26 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
Oct 21 Javascript
Angular8 实现table表格表头固定效果
Jan 03 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 截取字符串专题集合
2010/08/19 PHP
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
2012/04/09 PHP
PHP数组及条件,循环语句学习
2012/11/11 PHP
php+ajax实现文件切割上传功能示例
2020/03/03 PHP
jquery foreach使用示例
2013/09/12 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
2016/06/12 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
Webpack打包慢问题的完美解决方法
2017/03/16 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
Angularjs的键盘事件的绑定
2017/07/27 Javascript
js中apply与call简单用法详解
2017/11/06 Javascript
Vue框架里使用Swiper的方法示例
2018/09/20 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
2020/08/19 Javascript
详解Vue的异步更新实现原理
2020/12/22 Vue.js
jQuery实现手风琴特效
2021/01/11 jQuery
python字符串连接的N种方式总结
2014/09/17 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
Python多进程并发与多线程并发编程实例总结
2018/02/08 Python
python+selenium实现自动化百度搜索关键词
2019/06/03 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
jupyter notebook运行命令显示[*](解决办法)
2020/05/18 Python
Python3使用Selenium获取session和token方法详解
2021/02/16 Python
CSS3弹性伸缩布局之box布局
2016/07/12 HTML / CSS
纯CSS实现聊天框小尖角、气泡效果
2014/04/04 HTML / CSS
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
EJB的角色和三个对象
2015/12/31 面试题
英语硕士生求职简历的自我评价
2013/10/15 职场文书
应届毕业生专业个人求职自荐信格式
2013/11/20 职场文书
项目施工员岗位职责
2014/03/09 职场文书
纠风工作实施方案
2014/03/15 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
幼儿园开学温馨提示
2015/07/15 职场文书
python中opencv实现图片文本倾斜校正
2021/06/11 Python
OpenCV 图像梯度的实现方法
2021/07/25 Python
MySQL优化及索引解析
2022/03/17 MySQL
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python