在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 相关文章推荐
JS的递增/递减运算符和带操作的赋值运算符的等价式
Dec 08 Javascript
javascript改变position值实现菜单滚动至顶部后固定
Jan 18 Javascript
jquery 按钮状态效果 正常、移上、按下
Aug 12 Javascript
JavaScript判断对象是否为数组
Dec 22 Javascript
理解javascript中的MVC模式
Jan 28 Javascript
ES6新特性六:promise对象实例详解
Apr 21 Javascript
详解vue.js之props传递参数
Dec 12 Javascript
解决js ajax同步请求造成浏览器假死的问题
Jan 18 Javascript
基于datepicker定义自己的angular时间组件的示例
Mar 14 Javascript
浅谈Node.js 沙箱环境
May 15 Javascript
js设置默认时间跨度过程详解
Jul 17 Javascript
JavaScript数组及常见操作方法小结
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
PHP+MYSQL的文章管理系统(二)
2006/10/09 PHP
使用 MySQL 开始 PHP 会话
2006/12/21 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
2014/04/10 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
详解php语言最牛掰的Laravel框架
2017/11/20 PHP
javascript onmouseout 解决办法
2010/07/17 Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
返回页面顶部top按钮通过锚点实现(自写)
2013/08/30 Javascript
js跨域问题浅析及解决方法优缺点对比
2014/11/08 Javascript
jquery 插件实现多行文本框[textarea]自动高度
2015/03/04 Javascript
JavaScript 经典实例日常收集整理(常用经典)
2016/03/30 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
bootstrap css样式之表单
2017/01/19 Javascript
javascript回调函数详解
2018/02/06 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
CryptoJS中AES实现前后端通用加解密技术
2018/12/18 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
JS实现简单日历特效
2020/01/03 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
JS实现页面侧边栏效果探究
2021/01/08 Javascript
在Python中操作列表之List.append()方法的使用
2015/05/20 Python
小米5s微信跳一跳小程序python源码
2018/01/08 Python
python利用pandas将excel文件转换为txt文件的方法
2018/10/23 Python
pyqt5 实现在别的窗口弹出进度条
2019/06/18 Python
django云端留言板实例详解
2019/07/22 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
将Pytorch模型从CPU转换成GPU的实现方法
2019/08/19 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
2020/06/02 Python
matplotlib绘制正余弦曲线图的实现
2021/02/22 Python
用canvas实现图片滤镜效果附演示
2013/11/05 HTML / CSS
班级聚会策划书
2014/01/16 职场文书
淘宝客服专员岗位职责
2015/04/07 职场文书
文明上网主题班会
2015/08/14 职场文书
2019西餐厅创业计划书范文!
2019/07/12 职场文书
解决golang在import自己的包报错的问题
2021/04/29 Golang