vue+echarts实现动态绘制图表及异步加载数据的方法


Posted in Javascript onOctober 17, 2018

前言

背景:vue写的后台管理,需要将表格数据绘制成图表(折线图,柱状图),图表数据都是通过接口请求回来的。

安装

cnpm install echarts --s   (我这里用了淘宝镜像,不知道同学自行百度)

实例化

   在已有的项目中下载好了echarts 之后,可以打开官方文档,但是我觉得官方文档对于实例化介绍的不够清晰,这也是我为什么在这么多的文章中还要写的原因,前辈写的太模糊了,我决定好好给后来人,需要在项目中引用图表的人,一些实用,快捷的东西。

官方文档:http://echarts.baidu.com/tutorial.html#5%20%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8B%20ECharts

不废话,贴代码

1.在需要用图表的地方引入 例如:hello.js

    import echarts from 'echarts'

2.hello.vue  中写个容器

<div id='myChart' style='width:600px;height:600px'>
</div>

3.在hello.js

export default {
 name: 'hello',
 data () {
  return {
   msg: 'Welcome to Your Vue.js App'
  }
 },
 mounted(){
  this.drawLine();
 },
 methods: {
  drawLine(){
    // 基于准备好的dom,初始化echarts实例
    let myChart = this.$echarts.init(document.getElementById('myChart'))
    // 绘制图表
    myChart.setOption({
      title: { text: '在Vue中使用echarts' },
      tooltip: {},
      xAxis: {
        data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
      },
      yAxis: {},
      series: [{
        name: '销量',
        type: 'bar',
        data: [5, 20, 36, 10, 10, 20]
      }]
    });
  }
 }
}

    这样就调用好了视力了,在页面刷新就可以了

效果如图:

vue+echarts实现动态绘制图表及异步加载数据的方法

这样是很简单的方法,嗯重点来了,我的数据又不是写死的~数据都是后台给我的呀(官方,还真的没有怎么说,示例也是ajax异步请求的)

项目一开始是有完整的一个表格数据,也就是我要把表格数据绘制成图表,还有一堆的筛选条件,有点懵逼~

感觉问题很多啊,给我五分钟,分析分析,分解分解一下

1.数据我都是有的,我需要绘制四条折线,表格数据循环复制给新的四个数组(筛选条件一变,四组数据也跟着变)

2.横坐标也是动态,项目是时间(刚开始我还想偏了,自动填充日期的那种),表格的第一行就是日期,同样用新数组储存

3.数据重新请求了,我的图表也要跟着变才对呀(图表重新绘制)

再次贴代码(废话再多,不如一行代码)

1.在调用筛选条件的方法那里,创建五个新的数组(四条折线),横坐标(日期)

    这里没有代码

2.横坐标动态的:

xAxis: {
     type: 'category',
     boundaryGap: false,
     data: this.xData, //xData 就是日期这个数组
   },

3.series (四条折线的数据)

series : [{

name:this.tooltipData[0],


type:'line',


stack: '总量',


data:this.new_userData,

},

{


name:this.tooltipData[1],


type:'line',


stack: '总量',


data:this.new_deviceData,

},

{


name:this.tooltipData[2],


type:'line',


stack: '总量',
 

data:this.active_userData,

},

{


name:this.tooltipData[3],


type:'line',


stack: '总量',


data:this.active_deviceData,

}]

4.随着筛选数据,重新绘制图表

    调用筛选条件方法的时候再调用这个实例化 drawline 方法就可以了

    this.drawLine();

总结

以上所述是小编给大家介绍的vue+echarts实现动态绘制图表及异步加载数据的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
关于JavaScript的gzip静态压缩方法
Jan 05 Javascript
javascript的offset、client、scroll使用方法详解
Dec 25 Javascript
jQuery contains过滤器实现精确匹配使用方法
Apr 12 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
Aug 01 Javascript
AngularJS快速入门
Apr 02 Javascript
JS实现模拟风力的雪花飘落效果
May 13 Javascript
javascript函数自动执行常用方法汇总
Mar 28 Javascript
JavaScript实现汉字转换为拼音的库文件示例
Dec 22 Javascript
详解使用vue实现tab 切换操作
Jul 03 Javascript
还不懂递归?读完这篇文章保证你会懂
Jul 29 Javascript
vscode 开发Vue项目的方法步骤
Nov 25 Javascript
three.js搭建室内场景教程
Dec 30 Javascript
手把手教你写一个微信小程序(推荐)
Oct 17 #Javascript
微信小程序开发之tabbar图标和颜色的实现
Oct 17 #Javascript
解决百度Echarts图表坐标轴越界的方法
Oct 17 #Javascript
vue实现循环切换动画
Oct 17 #Javascript
element-ui upload组件多文件上传的示例代码
Oct 17 #Javascript
bootstrap table合并行数据并居中对齐效果
Oct 17 #Javascript
IE9 elementUI文件上传的问题解决
Oct 17 #Javascript
You might like
PHP 调试工具Debug Tools
2011/04/30 PHP
关于PHP的相似度计算函数:levenshtein的使用介绍
2013/04/15 PHP
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
jquery.ui.draggable中文文档
2009/11/24 Javascript
关于图片按比例自适应缩放的js代码
2011/10/30 Javascript
javascript实现促销倒计时+fixed固定在底部
2013/09/18 Javascript
javascript进行数组追加方法小结
2014/06/16 Javascript
JavaScript检测鼠标移动方向的方法
2015/05/22 Javascript
javascript新闻跑马灯实例代码
2020/07/29 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
实例详解JSON取值(key是中文或者数字)方式
2017/08/24 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
详解vuex 渐进式教程实例代码
2018/11/27 Javascript
vue+element_ui上传文件,并传递额外参数操作
2020/12/05 Vue.js
python中list循环语句用法实例
2014/11/10 Python
实时获取Python的print输出流方法
2019/01/07 Python
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
python使用递归的方式建立二叉树
2019/07/03 Python
Python利用全连接神经网络求解MNIST问题详解
2020/01/14 Python
python圣诞树编写实例详解
2020/02/13 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
2020/06/03 Python
Virtualenv 搭建 Py项目运行环境的教程详解
2020/06/22 Python
python dict如何定义
2020/09/02 Python
python自动化测试三部曲之unittest框架的实现
2020/10/07 Python
详解纯CSS3制作的20种loading动效
2017/07/05 HTML / CSS
荷兰本土平价百货:HEMA
2017/10/23 全球购物
英国高档百货连锁店:John Lewis
2017/11/20 全球购物
Nordgreen美国官网:在线购买极简主义斯堪的纳维亚手表
2019/07/24 全球购物
高分子材料与工程专业个人求职信
2013/12/15 职场文书
软件售后服务承诺书
2014/05/21 职场文书
2014年班组工作总结
2014/11/20 职场文书
自我检讨报告
2015/01/28 职场文书
难以忽视的真相观后感
2015/06/05 职场文书
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python